【发布时间】:2021-11-22 11:02:44
【问题描述】:
我正在使用 SQLAlchemy ORM。
我在 SQL DB 中有一个表,其中有一个 id 列和一个名为 b 的列,它是枚举类型,可以取值 ('example_1', 'example_2')。
在 Python 中,我有一个像这样的 Enum 类:
class BTypes(enum.Enum):
EXAMPLE_1 = 'example_1'
EXAMPLE_2 = 'example_2'
为了查询表,我有一个这样的 ORM:
class Example(Base):
__tablename__ = "example"
id = Column(Integer, primary_key=True)
b = Column(Enum(BTypes).values_callable)
当我执行session.query(Example).all() 时,我返回的对象具有str 类型的b 属性。换句话说:
data = session.query(Example).all()
print(data[0].b)
# Outputs
# example_1
我希望属性b 的Example 对象具有enum 类型,而不是str。实现这一目标的最佳方法是什么?
【问题讨论】:
标签: python sqlalchemy orm