我在 python 中有以下枚舉:
class Status(enum.Enum):
produced = 1
consumed = 2
success = 3
failed = 4
以及以下 SQLAlchemy 模型
class Message(Base):
__tablename__ = 'table'
id = Column(Integer, primary_key=True)
name = Column(String)
status = Column(Enum(Status))
我想過濾查詢中的幾個狀態,如下所示:
session.query(Message).filter(Message.status in [Status.failed, Status.success])
但是無論我的數據庫中有什麼,結果總是空的,這可能是因為不了解Message.status
.
但是,這確實有效:
session.query(Message).filter(Message.status == Status.failed or Message.status == Status.success)
使用in_運算符:
session.query(Message).filter(Message.status.in_((Status.failed, Status.success)))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句