Запрос отношения «многие ко многим» в SQLAlchemy

У меня довольно стандартное отношение «многие ко многим», похожее на отношения «Блог -> Ключевое слово» в учебнике ORM.

Я хотел бы запросить список ключевых слов, возвращающих сообщения в блогах, где любой из них соответствует. Однако я не могу решить, есть ли простой способ сделать это. Если я добавляю несколько фильтров, многократно делаю

.filter(Blog.keywords.any(Keyword.name == 'keyword')) 

то я получаю запрос «И» / «EXISTS», так что будут возвращаться только те сообщения, у которых есть все эти ключевые слова. Есть ли простой способ сделать это как запрос «ИЛИ», или мне нужно работать с помощью join ().

Спасибо за любую помощь; Я не могу понять, не хватает ли чего-то.

One Solution collect form web for “Запрос отношения «многие ко многим» в SQLAlchemy”

Я думаю, ты просто хочешь

 .filter(Blog.keywords.any(Keyword.name.in_(['keyword1', 'keyword2', ...]))) 

Я использую http://www.sqlalchemy.org/docs/05/ormtutorial.html#common-filter-операторы для справки

Python - лучший язык программирования в мире.