query python sqlalchemy

python - query - Consultando una relación de muchos a muchos en SQLAlchemy



sqlalchemy select (1)

Creo que solo quieres

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

Estoy usando http://www.sqlalchemy.org/docs/05/ormtutorial.html#common-filter-operators como referencia

Tengo una relación bastante común de muchos a muchos, similar a la relación Blog -> Palabra clave en el tutorial de ORM.

Me gustaría consultar una lista de Palabras clave, devolver las publicaciones de Blog donde coincida alguna de ellas. Sin embargo, no puedo resolver si hay una manera simple de hacer esto. Si agrego varios filtros, hago repetidamente

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

luego obtengo una consulta ''AND'' / ''EXISTS'', de modo que solo se devolverán las publicaciones que tengan todas esas palabras clave. ¿Hay una manera simple de hacer esto como una consulta ''O'', o necesito trabajar usando join ().

Gracias por cualquier ayuda; No puedo determinar si me falta algo.