Включить представление списка таблиц в подробное представление - PullRequest
0 голосов
/ 22 сентября 2018

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

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

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

1 Ответ

0 голосов
/ 23 сентября 2018

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

Я делаю обратное, создавая другое представление 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
...