Files
electric-vehicle-battery-ch…/app/models/vehicle.py
2023-05-18 18:21:00 -04:00

23 lines
1.1 KiB
Python

from app.extensions import db, ma
class Vehicle(db.Model):
__tablename__ = 'vehicle'
id = db.Column(db.Integer, primary_key=True)
license_plate = db.Column(db.String(80), unique=True, nullable=False)
battery_level = db.Column(db.Float, nullable=False)
in_use = db.Column(db.Boolean, nullable=False)
model = db.Column(db.String(10), nullable=False)
location_lat = db.Column(db.Float, nullable=False)
location_long = db.Column(db.Float, nullable=False)
battery_change_shifts = db.relationship('BatteryChange', backref='battery_change_shifts')
shifts = db.relationship('Shift', secondary="battery_change", backref='vehicles_to_shifts')
class VehicleSchema(ma.Schema):
battery_change_shifts = ma.Nested('BatteryChangeSchema', many=True)
shifts = ma.Nested('ShiftSchema', only=['id'], many=True)
class Meta:
# Fields to expose
model = Vehicle
fields = ("id", "license_plate", "battery_level", "model",
"in_use", "location_lat", "location_long", 'battery_change_shifts',
"shifts")