Are you looking for the `or_` from sqlalchemy.sql import and_, or_
abcd = or_((table.col_1 == a, table.col_2 == b), (table.col_1 == b, table.col_2 == c), ) session.query(table).filter(**abcd).all() that should generate something like SELECT * FROM table WHERE (col_1 == a and col_2 == b) OR (col_1 == c and col_2 == d); -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.