在SQLAlchemy ORM查询中使用OR

时间:2013-07-11 15:36:20

标签: python sql orm sqlalchemy

我有一些sql查询我正在尝试作为sqlalchemy.orm.query对象运行,我想知道是否有办法使用OR。我可以通过在filter语句中添加逗号来使用AND,但我不知道如何进行OR。示例代码如下:

query = MyTable.q.filter(MyTable.id == some_number)

但是我不知道如何使用OR

进行查询
query = MyTable.q.filter(MyTable.id == some_number OR MyTable.id == some_other_number)

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

from sqlalchemy.sql import or_

query = MyTable.q.filter(
        or_(MyTable.id == some_number, MyTable.id == some_other_number)
    )

当然,在这种情况下没有意义,因为你可以用in_来解决它。

query = MyTable.q.filter(MyTable.id.in_([some_number, some_other_number])