2017-01-17 13 views
1

Flask-AdminビューにSQLAlchemyモデルクラスのカスタムプロパティを追加する必要があります。それは私の列リストに表示したいいくつかの計算を行います。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

関連する問題