Python 使用sqlalchemy使用多列where in子句进行查询

Python 使用sqlalchemy使用多列where in子句进行查询,python,mysql,sql,sqlalchemy,Python,Mysql,Sql,Sqlalchemy,我希望使用sqlalchemy执行此查询 SELECT name, age, favorite_color, favorite_food FROM kindergarten_classroom WHERE (favorite_color, favorite_food) IN (('lavender','lentil soup'),('black','carrot juice')); 我只想要喜欢(薰衣草和扁豆汤)或(黑胡萝卜汁)的孩子。此

我希望使用sqlalchemy执行此查询

SELECT name,
       age,
       favorite_color,
       favorite_food
FROM kindergarten_classroom
WHERE (favorite_color,
       favorite_food) IN (('lavender','lentil soup'),('black','carrot juice'));
我只想要喜欢(薰衣草和扁豆汤)或(黑胡萝卜汁)的孩子。此外,这可能是一个巨大的最喜欢的颜色和食物列表(可能>10K),所以我想做这些大批量

这是相似的,但并不能让我完全理解:

您想要构造:

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

是的,这正是我想要的。谢谢。可能有两份