python - Flask-Admin:将自定义属性添加到 column_list

标签 python flask sqlalchemy flask-sqlalchemy flask-admin

我需要将 SQLAlchemy 模型类的自定义属性添加到我的 Flask-Admin View 中。它做了一些我想显示在我的列列表中的计算。

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 属性添加到我的 View column_list 中,但在新列中看不到值。

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

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

Screenshot

所以我的问题是:有没有办法将自定义属性添加到 Flask-Admin View 中的列列表?

最佳答案

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

column_list = ('org_length', 'length')

关于python - Flask-Admin:将自定义属性添加到 column_list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41704213/

相关文章:

python - 如何有效分离不同大小的数据输入?

python - 如何在sklearn中使用自定义评分函数 cross_val_score

python - 为什么在 Python 中从类内部访问类变量需要 "self."?

python-3.x - Flask文件下载: filename persists within the session

python - 如何使用 Flask 将 GeoJSON 返回到 Openlayers

python - Flask/SQLAlchemy : Incompatible collection type: None is not list-like

python - 将字典绑定(bind)到 SQLAlchemy 模型以进行更新

python - 是否可以在 Django 中查询查询对象?

python - 使用 Flask 在 Elastic APM for Python 中设置(自定义)字段

flask - 如何使用 SQlAlchemy 声明方式插入数据