flaskappbuild中的多种选择

2024-05-12 23:41:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个当前用户可以直接输入的字段,但是我在我的表中有ENUM,我想让他们只能选择其中一个作为选项。目前我正在尝试使用基本的过滤器,我有一切导入正确,只是不工作

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

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

Tags: columnsfrank用户nameaddid过滤器选项
1条回答
网友
1楼 · 发布于 2024-05-12 23:41:53

不知道为什么要在这种情况下使用基本的过滤器,但是在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']]

如果要使用基本筛选器,请不要忘记导入要使用的筛选器。在

相关问题 更多 >