Включить представление списка таблиц в подробное представление

1

С flask_sqlalchemy меня есть две таблицы (A & B), соединенные вместе с помощью прокси-таблицы ассоциации (C), в которой есть некоторые дополнительные поля.

На данный момент с flask_admin у меня есть ModelView на C, и в этом представлении списка я column_formatters (с опцией column_formatters) ссылку на каждый элемент в соответствующем столбце таблицы A на свою страницу detail_view.

Он отлично работает, но я не знаю на этой странице сведений о том, как добавить filtered таблицу на основе C только с строками, относящимися к выбранному элементу A.

Теги:
flask-admin

1 ответ

0

Хорошо, я отвечаю себе, если кому-то это нужно.

Я делаю обратное, создавая другой list_view, но для выбранной записи я хочу, изменив метод index_view и передав параметры (подробности) в шаблон:

class TableCView(admin.ModelView):
    list_template = 'modified_listview.html'

    @expose('/')
    def index_view(self):
        self.a_id = request.args.get('id', None)
        self._template_args['a_id'] = self.a_id  # add more params here
        return super(TableCView, self).index_view()

    def get_query(self):
        # Filter records by a_id
        query = super(TableCView, self).get_query()
        if self.a_id:
            query = query.filter(self.model.a_id == self.a_id)
        return query

    def get_count_query(self):
        query = super(TableCView, self).get_count_query()
        if self.a_id:
            query = query.filter(self.model.a_id == self.a_id)
        return query

Ещё вопросы

Сообщество Overcoder
Наверх
Меню