【发布时间】:2010-10-04 06:45:45
【问题描述】:
情况如下:我有一个父模型说BlogPost。它有很多Comments。我想要的是按其Comments 的创建日期排序的BlogPosts 列表。 IE。具有最新评论的博客文章应位于列表顶部。 SQLAlchemy 可以做到这一点吗?
【问题讨论】:
标签: python sqlalchemy
情况如下:我有一个父模型说BlogPost。它有很多Comments。我想要的是按其Comments 的创建日期排序的BlogPosts 列表。 IE。具有最新评论的博客文章应位于列表顶部。 SQLAlchemy 可以做到这一点吗?
【问题讨论】:
标签: python sqlalchemy
http://www.sqlalchemy.org/docs/05/mappers.html#controlling-ordering
从 0.5 版开始,ORM 没有 为任何查询生成排序,除非 显式配置。
a 的“默认”排序 集合,适用于 基于列表的集合,可以是 使用 order_by 关键字配置 关于关系()的论点:
【讨论】:
在使用 ORM 时,我和家长有同样的问题,GHZ 的链接包含了如何实现的答案。在 sqlalchemy 中,假设 BlogPost.cmets 是 Comments 表的映射关系,你不能这样做:
session.query(BlogPost).order_by(BlogPost.cmets.creationDate.desc())
,但你可以这样做:
session.query(BlogPost).join(Comments).order_by(Comments.creationDate.desc())
【讨论】: