我有不同的集合(即表格),它们有不同的列,比如集合 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字段。
答案 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替换为模型类的名称。