2017-01-17 31 views
1

我需要将一个SQLAlchemy模型类的自定义属性添加到我的Flask-Admin视图。它做了一些计算,我想在列列表中显示。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) 

我加入了Fabric.length物业我的意见column_list但将不会看到新列的值。

class FabricModelView(ModelView): 
    column_list = ('org_length', Fabric.length) 

结果应该是具有计算长度的列,但实际上在添加的列中没有显示任何内容。

Screenshot

所以我的问题是:有没有办法烧瓶中的 - 管理视图中添加自定义属性的列清单?

回答

3

我相信它会工作得很好,如果你可以使用字符串:

column_list = ('org_length', 'length') 
+0

老实说,这个工程。我想我错过了这里的树木。谢谢 – MrLeeh

相关问题