假设Flask AppBuilder中有以下简单视图:
class Table_AView(ModelView):
datamodel = SQLAInterface(Table_A)
label_columns = {'Field_A':'A'}
list_columns = ['Field_A']
我们希望列出Field_A
中所有数据的列返回所有等于“sometext”的字段。在
假设下面的查询是正确的,我们将把这行代码放在上面的代码中的哪一行以获得所需的结果?在
result = session.query(Table_A).filter_by(Field_A = 'some text').all()
由于实现是使用Flask appbuilder,所以通常应用于Flask和sqlalchemy的解决方案似乎并不是以同样的方式实现的。在
经过大量挖掘之后,
flask-appbuilder
使用它自己的过滤器类来过滤视图。在GitHub上的所有类都在这里引用: Flask Filter Classes List
还要注意}之间的区别:
What is the difference between: FilterEqual and FilterEqualFunction?
FilterEqual
和{对于其他定制和Flask appbuilder的第一个调用端口,请直接转到API Reference,在那里可以找到几个filterclass正在运行的示例。在
从本质上讲,它非常简单。在要过滤的
views.py
类中的views.py
代码中,只需添加:base_filters = [['field_column_name', FilterEqual, 'abc']]
这将只显示
field_column_name
变量等于abc
的行。在希望这对某人有帮助,因为我花了两个星期才弄明白。。。在
相关问题 更多 >
编程相关推荐