使用sqlalchemy在where子句中使用多列进行查询

我正在寻找使用sqlalchemy执行此查询.

SELECT name,age,favorite_color,favorite_food
FROM kindergarten_classroom
WHERE (favorite_color,favorite_food) IN (('lavender','lentil soup'),('black','carrot juice'));

我只想要喜欢(薰衣草和扁豆汤)或黑(胡萝卜汁)的孩子.此外,这可能是一个最喜欢的颜色和食物的大量列表(可能> 10K),所以我想要大批量做这些.

这是类似的,但不会让我一路走到那里:
Sqlalchemy in clause
最佳答案
你想要tuple_结构:

session.query(...).filter(
    tuple_(favorite_color,favorite_food).in_(
        [('lavender','carrot juice')]
    )
)

dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。