【问题标题】:Multiple choices in flask-appbuilderflask-appbuilder 中的多种选择
【发布时间】:2018-12-19 08:45:36
【问题描述】:

我有一个当前用户可以输入的字段,但我的表中有 ENUM,我想要它,所以他们只能选择一个或另一个作为选项。目前我正在尝试使用 base_filters,我已正确导入所有内容,只是无法正常工作

class FrankView(ModelView):
    datamodel = SQLAInterface(Frank)
    list_columns = ['id', 'name']
    add_columns = ['id', 'name']
    edit_columns = ['id', 'name']

    base_filters = [['name', FilterEqual, 'Maven']]

【问题讨论】:

    标签: python flask flask-appbuilder


    【解决方案1】:

    不确定为什么要在这种情况下使用 base_filter,但 F.A.B. 中 ENUM 的基本用法。是这样的:

    from flask_appbuilder import Model, ModelView
    from sqlalchemy import Column, Integer, Enum
    from flask_appbuilder.models.sqla.interface import SQLAInterface
    from flask_appbuilder.models.sqla.filters import FilterEqual
    
    class Frank(Model):
        __tablename__='frank'
    
        id = Column(Integer, primary_key=True, nullable=False)
        name_as_enum=Column(Enum('Maven','Not Maven'), nullable=False, default='Maven')
    
    class FrankView(ModelView):
        datamodel = SQLAInterface(Frank)
        list_columns = ['id', 'name_as_enum']
        add_columns = ['id', 'name_as_enum']
        edit_columns = ['id', 'name_as_enum']
    
        base_filters = [['name_as_enum', FilterEqual, 'Maven']]
    

    如果您想使用 base_filters,请不要忘记导入您尝试使用的过滤器。

    【讨论】:

      猜你喜欢
      • 2020-12-26
      • 2014-12-07
      • 2018-12-06
      • 2020-09-29
      • 2018-05-21
      • 1970-01-01
      • 2017-04-29
      • 2017-05-11
      • 2019-07-26
      相关资源
      最近更新 更多