from sqlalchemy import union_all
q1 = Session.query(..).filter(..).filter(..).order_by(..).limit(..).subquery()
q2 = Session.query(..).filter(..).filter(..).order_by(..).limit(..).subquery()
q = Session.query(..).select_entity_from(union_all(q1.select(), q2.select()).order_by(..).all()
该.subquery()
方法返回一个Alias对象,该对象不union_all
直接支持查询。因此,相反,我们需要构建一个select_entity_from()
结构,而不是传入sqlalchemy.sql.expression.union_all()
函数 结果,因此您仍将结果映射到正确的对象。