2013-07-11 2 views
0

У меня есть несколько запросов sql, которые я пытаюсь запустить как объекты sqlalchemy.orm.query, и мне интересно, есть ли способ использовать OR. Я могу использовать AND путем добавления запятых в оператор фильтра, но я не знаю, как сделать OR. Пример кода ниже:Использование OR в запросе ORM SQLAlchemy

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

Однако я не знаю, как сделать запрос с OR

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

Любая помощь очень ценится

+1

Повторяющиеся вопросы, пожалуйста, обратитесь к: http://stackoverflow.com/questions/7942547/using-or-in-sqlalchemy – user581592

ответ

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]) 
+0

Это даже лучше, спасибо! – sedavidw

Смежные вопросы