flask-admin 自定义属性添加到column_list

416 阅读1分钟

有时候需要增加额外的列添加到视图中,flask-admin 自定义属性添加到column_list

class Withdrawal(db.Model): 
    __tablename__ = 'withdrawals' 
    id = db.Column(db.Integer, primary_key=True) 
    fabric_id = db.Column(db.Integer, db.ForeignKey('fabrics.id')) 
    fabric = db.relationship('Fabric', backref='withdrawals') 
    length = db.Column(db.Float) 

class Fabric(db.Model): 
    __tablename__ = 'fabrics' 
    name = db.Column(db.String(256)) 
    id = db.Column(db.Integer, primary_key=True) 
    org_length = db.Column(db.Float) 

    @property  # 自定义的属性
    def length(self): 
     return self.org_length - sum(x.length for x in self.withdrawals) 


class FabricModelView(ModelView): 
    # 将自定义属性显示到视图列表中
    column_list = ('org_length', 'length')