2017-01-17 6 views
1

Мне нужно добавить настраиваемое свойство класса модели SQLAlchemy в мой вид Flask-Admin. Он выполняет некоторые вычисления, которые я хочу отобразить в списке столбцов.Flask-Admin: добавьте настраиваемое свойство в столбец-столбец

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

 Смежные вопросы

  • Нет связанных вопросов^_^