如何根据sqlalchemy中孩子的某些属性订购对象?

时间:2009-01-29 16:01:52

标签: python sqlalchemy

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

2 个答案:

答案 0 :(得分:3)

http://www.sqlalchemy.org/docs/05/mappers.html#controlling-ordering

  

从版本0.5开始,ORM没有   生成任何查询的排序,除非   明确配置。

     

a的“默认”排序   集合,适用于   基于列表的集合,可以   使用order_by关键字配置   关于关系()的论证:

答案 1 :(得分:1)

在使用ORM时,我和父母有同样的问题,GHZ的链接包含了关于如何实现的答案。在sqlalchemy中,假设BlogPost.comments是与Comments表的映射关系,则不能这样做:

  

session.query(博客帖子).order_by(BlogPost.comments.creationDate.desc())

,但你可以这样做:

  

session.query(博文)。加入(评论).order_by(Comments.creationDate.desc())