数据库拒绝了Enum类中的新值

时间:2018-11-20 15:32:16

标签: python mysql enums sqlalchemy

我的models.py文件中有此类:

class DepartmentCategory(Enum):
    """The various categories of departments"""
    committee = 'Committee'
    subcommittee = 'Subcommittee'
在表单的选择字段中使用的

。一切正常,但是当我向Enum类添加新值时,例如:

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

保存新值,数据库将失败,并且终端和浏览器中均未显示任何错误。我已经无数次迁移(烧瓶数据库迁移)和升级数据库(烧瓶数据库升级),但问题仍未解决。请帮忙。

2 个答案:

答案 0 :(得分:0)

尝试安装enum34。我发现在Python3-x上使用flask_migrateenum无法检测到更改。然后我看到了这个问题Defining SQLAlchemy enum column with Python enum raises "ValueError: not a valid enum"

中的评论
  

pip安装枚举34

注意:继续使用import enumimport enum34是错误的。

答案 1 :(得分:-1)

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