3

情况如下:我有一个父模型说BlogPost。它有很多Comments。我想要的是BlogPost按其创建日期排序的 s列表Comment。即具有最新评论的博客文章应该在列表的顶部。使用 SQLAlchemy 可以做到这一点吗?

4

2 回答 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 回答