Форум сайта python.su
есть две модельники
class A(Base):
...
x = Column(Float)
class B(Base):
...
x = Column(Float)
db.session.query(A B).filter(A.x < 5, B.x < 5).all()
Отредактировано f1aky (Июнь 27, 2013 22:24:57)
Офлайн
тебе нужен union
Офлайн
union и union_all не работает с обьектами, т.е.
>>>qa = session.query(A.x).filter(A.x<=2)
>>>qa.all()
[(0,), (1,), (2,)]
>>>qb = session.query(B.x).filter(B.x>=0)
>>>qb.all() # prints
[(0,), (1,), (2,)]
>>>qa.union_all(qb).all()
[(0,), (1,), (2,), (0,), (1,), (2,)]
>>>qa = session.query(A.).filter(A.x<=2)
>>>qa.all()
[<A object at ....>, <A object at ...>, <A object at ...>]
>>>qb = session.query(B).filter(B.x>=0)
>>>qb.all() # prints
[<B object at ...>, <B object at ...>, <B <object at ...>]
>>>qa.union_all(qb).all()
[<A object at ....>, <A object at ...>, <A object at ...>]
Офлайн