我有两个不同的表,但两个表都有一个日期对象。我想同时查询两个表,以获得按日期排序的混合对象列表。 我需要一步完成,这样我就可以使用paginate命令了。我不能只查询两个列表,然后将它们组合起来。
更新:我试过
{{1}}
但结果是
{{1}}
感谢 卡尔
答案 0 :(得分:-1)
这不是一个完美的解决方案,因为它需要深入研究SQLAlchemy内部。但这似乎有效。也许有人可以帮助完成它并使它更强大。
# You need to have Model.date in both query1 and query2.
# No promises if your models are complex or have multiple columns called dates or something!
from sqlalchemy import text
base_query = query1.union(query2)
ordered_query = base_query.order_by(text(f"{next(i for i in base_query.column_descriptions if i['name']=='date')['expr'].name} desc"))