首页 > 解决方案 > 数据库拒绝枚举类中的新值

问题描述

我的 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'

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

标签: pythonmysqlenumssqlalchemy

解决方案


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

点安装枚举34

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


推荐阅读