Flask Admin在ModelView自定义模板中获取模型的实例

时间:2019-01-21 10:01:05

标签: python flask flask-admin

我目前正在尝试使用Flask Admin上的模板为detail_view创建自定义ModelView。但是,我正在努力弄清楚如何访问用户正在查看其详细信息的模型的实例。

这是我的自定义ModelView:

class ShopModelView(MyModelView):
    can_view_details = True

    details_template = "custom_detail_view.html"

    @expose('/details/', methods=('GET', 'POST'))
    def details_view(self):
         self._template_args['all_transactions'] = #current_shop_object#.transactions.order_by(Transaction.timestamp.desc())

         return super(ShopModelView, self).details_view()

看着this post,可以使用self.model获得模型的类,但是这将返回该类,而不是所访问的特定模型的实例。

TemplatesModelView上的文档似乎没有对其进行解释。

如何获取正在访问的特定模型的实例?

1 个答案:

答案 0 :(得分:0)

结果表明,可以通过jinja2模板文件中的变量model访问模型的当前实例。因此,与其像我尝试的那样将变量解析为模板参数,不如:self._template_args['all_transactions'] = #current_shop_object#.transactions.order_by(Transaction.timestamp.desc())

{{model.transactions.all()}}实现了我想要的结果。