Flask 管理员添加可计算字段

Flask admin add computable field

我想在 flask admin 中显示一个包含可计算字段的列(由 python 代码计算)。

我找到了下一个方法:

将可计算的 @property 添加到模型中,然后将此 属性 添加到管理中。

有没有办法在不改变模型的情况下做同样的事情?

您可以声明任意数量的不属于模型的列字段,然后指定一个列格式化程序来为这些列提供数据,例如:

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,
    }