# encoding: utf-8 from app import admin, db from app.model.model import Model, View class MembershipModel(db.Model, Model): __tablename__ = "membership" id = db.Column(db.Integer, primary_key=True) representative_id = db.Column(db.Integer, db.ForeignKey("representative.id")) representative = db.relationship( "RepresentativeModel", backref=db.backref("memberships", lazy="dynamic") ) entity_id = db.Column(db.Integer, db.ForeignKey("entity.id")) entity = db.relationship( "EntityModel", backref=db.backref("memberships", lazy="dynamic") ) reference = db.Column(db.String(200)) role_id = db.Column(db.Integer, db.ForeignKey("role.id")) role = db.relationship("RoleModel") start = db.Column(db.Date) end = db.Column(db.Date) active = db.Column(db.Boolean) class AdminView(View): column_filters = [ "entity.name", "entity.type.name", "representative.full_name", "role.name", "start", "end", "active", ] admin.add_view( AdminView(MembershipModel, db.session, name="Membership", category="CRUD") )