Flask admin добавить вычислимое поле - PullRequest
0 голосов
/ 15 апреля 2019

Я хочу показать в администраторе фляги столбец с вычислимым полем (вычисляется по коду Python).

Я нашел следующий способ, как это сделать:

Добавьте вычислимый @property в модель, затем добавьте это свойство в admin.

Есть ли способ сделать то же самое, не меняя модель?

1 Ответ

1 голос
/ 16 апреля 2019

Вы можете объявить любое количество полей столбцов, которые не являются частью модели, а затем указать средство форматирования столбцов, чтобы предоставить данные для этих столбцов, например:

class TestView(ModelView):

    # 'computed' is not in out model
    column_list = ('name', 'subject', 'sent', 'recipients', 'computed')

    def _computed_formatter(view, context, model, name):
        # `view` is current administrative view
        # `context` is instance of jinja2.runtime.Context
        # `model` is model instance
        # `name` is property name
        return "Hello World"

    column_formatters = {
        'computed': _computed_formatter,
    }
...