python – Flask-Admin:应用过滤器的模型视图路径

我在Flask-Admin中有一个带过滤器的模型(例如,基于其他模型的外键).

我想在admin中生成从前端到此模型视图的链接,并应用过滤器值.我注意到它将?flt0_0 =添加到url中,因此整个地址看起来有点:

http:/…/ admin / model_view_< my model> /?flt0_0 =< filter value>

生成这样的路线的最佳方法是哪种?

最佳答案 不幸的是,目前还没有公共API.这是一个简短的片段,您现在可以使用它来生成fltX_Y查询字符串:

class MyView(BaseModelView):
...
    def get_filter_arg(self, filter_name, filter_op='equals'):
        filters = self._filter_groups[filter_name].filters
        position = self._filter_groups.keys().index(filter_name)

        for f in filters:
            if f['operation'] == filter_op:
                return 'flt%d_%d' % (position, f['index'])

然后,您可以在视图实例上调用此方法:

print my_view.get_filter_arg('Name', 'contains')
点赞