首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask-Migrate在模型中存在枚举类问题

Flask-Migrate在模型中存在枚举类问题
EN

Stack Overflow用户
提问于 2016-08-27 20:43:53
回答 1查看 928关注 0票数 2

在我能够创建枚举之前使用flask-migrate,方法是使用flask-sqlalchemy的db.Enum并将值作为字符串输入,如下所示。

代码语言:javascript
复制
reservation_status = db.Enum('pending', 'confirmed, name='reservation_status_enum')

我决定开始使用enum类,如下所示。根据sqlalchemy docs的说法,它工作正常。

代码语言:javascript
复制
class Status(enum.Enum):
    pending = 'pending'
    confirmed = 'confirmed'
    rejected = 'rejected'
    abandoned = 'abandoned'

reservation_status = db.Enum(Status, name='reservation_status_enum')

class Reservation(db.Model):
    __tablename__ = 'reservations'

    id = db.Column(db.Integer, primary_key=True)
    status = db.Column(reservation_status, default=Status.pending)
    ...

当我尝试使用迁移命令时,我在生成的代码中得到一个无效的语法错误,如下所示。该错误与写入文件的内容完全相同。

代码语言:javascript
复制
    sa.Column('status', sa.Enum(<enum 'Status'>, name='reservation_status_enum'), nullable=True),
                            ^
SyntaxError: invalid syntax
EN

回答 1

Stack Overflow用户

发布于 2016-08-27 21:52:52

多亏了user @dim,我能够通过将sqlalchemy升级到beta 1.1.0b3来解决这个问题。像大多数情况一样,这是用户错误(我)。

我所做的就是

代码语言:javascript
复制
pip uninstall sqlalchemy
pip install sqlalchemy==1.1.0b3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39181294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档