【问题标题】:Flask and SQLAlchemy's Column typeFlask 和 SQLAlchemy 的 Column 类型
【发布时间】:2020-11-12 00:36:33
【问题描述】:

我正在使用 SQLAlchemy 创建一个 Flask 应用程序。 在 Odoo ORM 中,我们有一个名为“Selection”的列或字段。 我想在 SQLAlchemy 中做一些像这样很棒的事情:

STATUS = [('admin','Admin'),('guest','Guest')]
status = db.Column(db.Selection, selection=STATUS)

使用 Odoo 的 ORM:

status = fields.Selection(STATUS, default='guest')

我不想创建一个新模型来存储这些:'admin'、'guest'、'superadmin'。
谢谢大家

【问题讨论】:

    标签: python-3.x flask sqlalchemy flask-sqlalchemy


    【解决方案1】:

    您可以使用 SQLAlchemy 枚举。在此处查看 SQLAlchemy 1.3 文档:class sqlalchemy.types.Enum(*enums, **kw)

    class Status(enum.Enum):
        ADMIN = "admin"
        GUEST = "guest"
    
    class MyTable(db.Model):
        id = db.Column(db.Integer, primary_key = True)
        status = db.Column(db.Enum(Status), default=Status.GUEST)
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 2015-03-25
    • 2014-07-15
    • 2023-01-14
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    相关资源
    最近更新 更多