次のようなものが欲しいです:
q = db.session.query(db.models.Something).filter(a==a).filter(b==b).or().filter(c==c).filter(foo==bar)
これは、a=a と b=b または c=c と d=d を意味します。
これをフィルター呼び出し自体に適用することは避けたいと思います。
次のようなものが欲しいです:
q = db.session.query(db.models.Something).filter(a==a).filter(b==b).or().filter(c==c).filter(foo==bar)
これは、a=a と b=b または c=c と d=d を意味します。
これをフィルター呼び出し自体に適用することは避けたいと思います。
from sqlalchemy.sql import or_, and_
q = db.session.query(db.models.Something).filter(
or_(
and_(a==a, b==b),
and_(c==c, foo==bar)
))
&
または、and|
演算子を使用できます。
q = db.session.query(db.models.Something).filter(
(a==a) & (b==b) | (c==c) & (foo==bar))
接続詞と一般的なフィルター操作を参照してください。