【发布时间】:2018-05-09 04:15:20
【问题描述】:
我有一个表 entities 与 name 和 entity_type 列,并且想要查找多行测试这两个列的对。在普通 SQL 中,我可以这样做:
SELECT *
FROM entities
WHERE (name, entity_type) IN (('abc', 'type1'), ('def', 'type2'))
在 SQLAlchemy ORM 中,过滤 WHERE IN 单个列表很简单,例如:
session.query(Entity).filter(User.name.in_(['abc', 'def']))
是否存在与顶级 SQL 表达式等效的高效 SQLAlchemy?我不认为它特别相关,但为了记录,我有兴趣在 PostgreSQL 上运行它。
【问题讨论】:
标签: python sql sqlalchemy