query.filter 代码在 Flask-AppBuilder 视图中的什么位置?
Where does query.filter code go in a Flask-AppBuilder view?
假设我们在 Flask-AppBuilder 中有以下简单视图:
class Table_AView(ModelView):
datamodel = SQLAInterface(Table_A)
label_columns = {'Field_A':'A'}
list_columns = ['Field_A']
我们希望该列列出从 Field_A
到 return 所有字段等于 "some text" 的所有数据。
假设下面的查询是正确的,我们将把这行代码放在上面代码的什么地方来实现预期的结果?
result = session.query(Table_A).filter_by(Field_A = 'some text').all()
由于实施是使用 Flask-appbuilder,因此适用于 Flask 和 sqlalchemy 的常用解决方案似乎没有以相同的方式实施。
经过大量挖掘 flask-appbuilder
使用它自己的 filterclass 以便您能够过滤您的观点。
所有 class 均在 GitHub 上引用:
Flask Filter Classes List
这里还要注意FilterEqual
和FilterEqualFunction
的区别:
What is the difference between: FilterEqual and FilterEqualFunction?
对于其他自定义和 Flask-appbuilder 的第一个调用端口,请直接转到 API Reference,在那里您可以找到 filterclass[ 的几个示例=40=] 在行动中。
本质上非常简单。在 ModelView
class 内的 views.py
代码中,您想要过滤只需添加:
base_filters = [['field_column_name', FilterEqual, 'abc']]
这只会显示 field_column_name
变量等于 abc
的行。
希望这对某人有所帮助,因为我花了将近 (叹息) 两个星期才弄明白...
假设我们在 Flask-AppBuilder 中有以下简单视图:
class Table_AView(ModelView):
datamodel = SQLAInterface(Table_A)
label_columns = {'Field_A':'A'}
list_columns = ['Field_A']
我们希望该列列出从 Field_A
到 return 所有字段等于 "some text" 的所有数据。
假设下面的查询是正确的,我们将把这行代码放在上面代码的什么地方来实现预期的结果?
result = session.query(Table_A).filter_by(Field_A = 'some text').all()
由于实施是使用 Flask-appbuilder,因此适用于 Flask 和 sqlalchemy 的常用解决方案似乎没有以相同的方式实施。
经过大量挖掘 flask-appbuilder
使用它自己的 filterclass 以便您能够过滤您的观点。
所有 class 均在 GitHub 上引用: Flask Filter Classes List
这里还要注意FilterEqual
和FilterEqualFunction
的区别:
What is the difference between: FilterEqual and FilterEqualFunction?
对于其他自定义和 Flask-appbuilder 的第一个调用端口,请直接转到 API Reference,在那里您可以找到 filterclass[ 的几个示例=40=] 在行动中。
本质上非常简单。在 ModelView
class 内的 views.py
代码中,您想要过滤只需添加:
base_filters = [['field_column_name', FilterEqual, 'abc']]
这只会显示 field_column_name
变量等于 abc
的行。
希望这对某人有所帮助,因为我花了将近 (叹息) 两个星期才弄明白...