2017-01-17 30 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

相關問題