情况如下:我有一个父模型说BlogPost
。它有很多Comment
s。我想要的是BlogPost
按其创建日期排序的 s列表Comment
。即具有最新评论的博客文章应该在列表的顶部。使用 SQLAlchemy 可以做到这一点吗?
Haldun
问问题
547 次
2 回答
4
http://www.sqlalchemy.org/docs/05/mappers.html#controlling-ordering
从 0.5 版开始,除非明确配置,否则 ORM 不会为任何查询生成排序。
集合的“默认”排序,适用于基于列表的集合,可以使用 relation() 上的 order_by 关键字参数进行配置:
于 2009-01-29T16:35:02.837 回答
1
使用 ORM 时,我和父母有同样的问题,GHZ 的链接包含了如何实现的答案。在 sqlalchemy 中,假设 BlogPost.comments 是到 Comments 表的映射关系,你不能这样做:
session.query(BlogPost).order_by(BlogPost.comments.creationDate.desc())
,但你可以这样做:
session.query(BlogPost).join(Comments).order_by(Comments.creationDate.desc())
于 2009-08-04T14:53:02.777 回答