Python Flask管理员:如何显示所有字段

Python Flask管理员:如何显示所有字段,python,flask,flask-admin,Python,Flask,Flask Admin,我有不同的集合(即表),它们有不同的列,比如集合A有cols a1和a2,集合B有b1和b2。我要显示所有列 追随 class UserView(ModelView): column_list = None 也 得到 NotImplementedError 如何显示所有字段 我是说 column_list = ('a1','a2','b1','b2') 工作正常,但我不希望在查看集合A时看到空的b1和b2字段。在Flask Admin中,继承ModelView的一个类通常表示一个

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

追随

class UserView(ModelView):
    column_list = None

得到

NotImplementedError
如何显示所有字段

我是说

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

工作正常,但我不希望在查看集合A时看到空的b1和b2字段。

在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'))
请参见此示例:

希望这有帮助

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

class AView(ModelView):

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

您可以用模型类的名称替换模型名。

我想可能有一个输入错误column_list=('a1','a2')这是可行的,但是在您的评论中,您说如果我不添加column list属性,所有列都应该显示出来。你是说只写类视图(ModelView)?你能给我一个例子吗?我编辑了答案并添加了一个没有列列表属性的例子。我没有模型类,我使用的是pymongo,没有ODM或ORM。我理解。不幸的是,我不知道如何用pymongo实现这一点。
class AView(ModelView):

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