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")