在枚舉列表中過濾枚舉 sqlalchemy

卡莉

我在 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章