类enum中的新值被数据库拒绝

6yoyoihd  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(324)

我在models.py文件中有这样一个类:

class DepartmentCategory(Enum):
    """The various categories of departments"""
    committee = 'Committee'
    subcommittee = 'Subcommittee'

在表单的selectfield中使用的。一切都很好,但当我向枚举类添加一个新值时,例如:

class DepartmentCategory(Enum):
    """The various categories of departments"""
    general = 'General'
    committee = 'Committee'
    subcommittee = 'Subcommittee'

保存新值数据库失败,终端和浏览器中均未显示错误。我已经迁移(flask db migrate)和升级(flask db upgrade)了我的数据库,但问题没有解决。请帮忙。

kx5bkwkv

kx5bkwkv1#

尝试安装 enum34 . 我发现 flask_migrate 使用时无法检测更改 enum 在Python3-x上。然后我看到了这个问题中的注解,用python enum定义sqlalchemy enum列会引发“valueerror:not a valid enum”
pip安装枚举34
注意:继续使用 import enum , import enum34 这是错误的。

zzwlnbp8

zzwlnbp82#

您需要迁移数据库定义,例如使用https://pypi.org/project/alembic/

相关问题