具有多个参数的 SQLAlchemy "or" 语句

SQLAlchemy "or" statement with multiple parameters

我有一个查询需要使用 "or" | 运算符:

Mymodel.query.filter((Mymodel.a== 'b') | (Mymodel.b == 'c'))

效果很好。但是,我希望将我的条件放入一个长度未知的数组中:

conds = [ Mymodel.a== 'b', Mymodel.b == 'c', Mymodel.c == 'd']
Mymodel.query.filter(???(conds))

谢谢!

您正在寻找or_

conds = [ Mymodel.a== 'b', Mymodel.b == 'c', Mymodel.c == 'd']

如果您有上述条件列表,只需将它们全部传递给 or_

from sqlalchemy import or_
Mymodel.query.filter(or_(*conds))