Отображать встроенную модель на странице сведений о родительской модели? Колба, SQLAlchemy

У меня есть модель A, которая включает в себя встроенную модель B, которая позволяет пользователям вводить некоторые тексты. В настоящее время пользователи данных, добавленные во встроенную модель, могут отображаться только на странице редактирования родительской модели A, но не на странице сведений. Есть ли способ решить эту проблему?

отредактируйте страницу

введите здесь описание изображения


person Sally Sun    schedule 06.01.2021    source источник


Ответы (1)


Добавьте поле в модели B в column_details_list (документы)

Добавьте то же поле в модели B в словарь column_formatters_detail (docs), указав метод форматирования, который возвращает соответствующий HTML.

Например:

from markupsafe import Markup

class ExampleView(AdminView):

    # include the comments child field plus any parent fields from model A you want to show
    column_details_list =  ('name', 'last_name', 'comments')    

    def _comments_formatter(view, context, model, name):
        # model is parent model A
        _html = []
        if model.comments:
            #  return any valid HTML markup
            for _comment_model in model.comments:
                # add html para per comment
                _html.append(f'<p>User:{str(_comment_model.user)}, Comment:{_comment_model.comment}</p>')

            return Markup(''.join(_html))

    column_formatters_detail = {
        'comments': _comments_formatter
    }
person pjcunningham    schedule 06.01.2021