Flask-Admin:如何显示所有字段

时间:2015-06-08 09:05:32

标签: python flask flask-admin

我有不同的集合(即表格),它们有不同的列,比如集合 A 有cols a1和a2,集合 B 有b1和b2。我想显示所有列

尝试了以下

class UserView(ModelView):
    column_list = None

column_exclude_list = None

获得

NotImplementedError

如何显示所有字段?

我的意思是

column_list = ('a1','a2','b1','b2') 

有效,但我不希望在查看集合A时看到空的b1和b2字段。

1 个答案:

答案 0 :(得分:1)

在Flask-Admin中,继承ModelView的一个类通常表示一个SQLAlchemy模型。如果通过关系或混合属性连接,则可以在一个视图中显示多个表的列。 ModelView主要用于向模型添加基本的CRUD操作。

所以在你的情况下你应该有两个类和两个视图

class AView(ModelView):
    column_list('a1', 'a2')      #also if you don't add the column list           
                                 #property, all columns except primary key will be shown

class BView(ModelView):
    column_list('b1','b2')


app.add_view(AView(db.session, category='Models'))
app.add_view(BView(db.session, category='Models'))

查看此示例: http://examples.flask-admin.org/sqla/simple/admin/

希望这有帮助。

如果您不想明确列出所有列,请定义构造函数 如下所示,表格中的所有列(PK除外)都将显示

class AView(ModelView):

    def __init__(self,session, **kwargs):
        super(AView, self).__init__(ModelName,session,**kwargs) 

将ModelName替换为模型类的名称。