2015-06-08 2 views
1

Ну у меня есть разные коллекции (т.е. таблица), и они имеют разные столбцы, говорят, коллекция имеет Cols a1 и a2, сбор B имеет b1 и b2. Я хочу, чтобы показать все столбцыКолба-Admin: как показать все поля

попытался следующие

class UserView(ModelView): 
    column_list = None 

также

column_exclude_list = None 

получать

NotImplementedError 

как я могу отобразить все поля?

Я имею в виду

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

работает, но я не хочу видеть пустое Б1 и Б2 поле при поиске коллекции А.

ответ

1

В Колба-администратор одного класса наследуемого 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/

Надеется, что это помогает.

В случае, если вы не хотите, чтобы явно перечислить все столбцы, которые определяют конструктор следующим образом и все столбцы таблицы (кроме ПК) будет показано

class AView(ModelView): 

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

Вы замените ModelName с именем вашего модельного класса.

+0

Я предполагаю, что там есть typum colum_list = ('a1', 'a2'), но в вашем комментарии вы скажете, что если я не добавлю свойства списка столбцов, все столбцы должны показать. Вы имеете в виду писать только класс AView (ModelView)? Можете ли вы привести пример кода для этой части –

+0

Я отредактировал ответ и добавил пример без свойства column_list. – Mensur

+0

У меня нет класса модели, я использую pymongo, ODM или ORM нет. –

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