反向排序查询的最佳方法是什么?我只能使用sql / sqlalchemy吗?
例如,如果
我的ID为以下行:[1、2、3、4、5、6、7、8、9、10]
我想按<8>,7、6]
目前,它适用于:
Comment.query.filter(Comment.id > 5).order_by(Post.id.asc()).limit(3)
我得到了ID为[6、7、8]的列表 然后在Python中使用 list.reverse()获取顺序为[8,7,6]
的列表这不起作用:
Comment.query.filter(Comment.id > 5).order_by(Post.id.desc()).limit(3)
它将给出ID为[10,9,8]的列表
答案 0 :(得分:0)
您可以使用CTE。
http://docs.sqlalchemy.org/en/latest/core/selectable.html#sqlalchemy.sql.expression.HasCTE.cte
应用限制:
cte = session.query(Comment).filter(Comment.id > 5).limit(3).cte()
然后反转
result = session.query(cte).order_by(cte.c.id.desc()).all()