代码之家  ›  专栏  ›  技术社区  ›  Alex B

你在哪里查询.筛选器代码进入AppBuilder视图?

  •  0
  • Alex B  · 技术社区  · 6 年前

    假设在Flask AppBuilder中有以下简单视图:

    class Table_AView(ModelView):
        datamodel = SQLAInterface(Table_A)
        label_columns = {'Field_A':'A'}
        list_columns = ['Field_A']
    

    Field_A 返回所有等于“some text”的字段。

    假设下面的查询是正确的,那么在上面的代码中,我们将把这行代码放在何处以获得所需的结果?

    result = session.query(Table_A).filter_by(Field_A = 'some text').all()

    由于实现使用的是Flask appbuilder,所以应用于Flask和sqlalchemy的常用解决方案的实现方式似乎不同。

    1 回复  |  直到 6 年前
        1
  •  2
  •   danronmoon    6 年前

    经过多次挖掘 flask-appbuilder 使用自己的 以使您能够筛选视图。

    Flask Filter Classes List

    还要注意 FilterEqual FilterEqualFunction 在这里: What is the difference between: FilterEqual and FilterEqualFunction?

    API Reference 在这里你会发现一些 过滤器类 在行动中。

    views.py 内部代码 ModelView 只需添加要筛选的类:

    base_filters = [['field_column_name', FilterEqual, 'abc']]

    这只会显示 field_column_name abc .

    希望这能帮助别人,因为它几乎花了我 (叹息)