使用sqlalchemy插入枚举列

问题描述

我试图在表中插入枚举值。我的表具有一列枚举类型,我想在其中插入值 status

模式是:

from marshmallow import Schema,fields
from marshmallow_enum import EnumField
from enum import Enum

ENUM_TYPE = Enum('ENUM_TYPE','status value')

class MySchema(Schema):
    status = EnumField(ENUM_TYPE)

从app.db导入ForeignKey,模型

from marshmallow_enum import EnumField

    class Message(Base):
        __tablename__ = "dummy"
        status = Column(EnumField(ENUM_TYPE))

我正在尝试将其添加到表格中

session.add(Message(MESSAGE_STATUS.status))

我收到以下错误消息:

 AttributeError: 'EnumField' object has no attribute '_set_parent_with_dispatch'
 sqlalchemy.exc.ArgumentError: 'SchemaItem' object,such as a 'Column' or a 'Constraint' expected,got <fields.EnumField(default=<marshmallow.missing>,attribute=None,validate=None,required=False,load_only=False,dump_only=False,missing=<marshmallow.missing>,allow_none=False,error_messages={'required': 'Missing data for required field.','null': 'Field may not be null.','validator_Failed': 'Invalid value.','by_name': 'Invalid enum member {input}','by_value': 'Invalid enum value {input}','must_be_string': 'Enum name must be string'})>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...