【问题标题】:How can I order objects according to some attribute of the child in sqlalchemy?如何根据 sqlalchemy 中子项的某些属性对对象进行排序?
【发布时间】:2010-10-04 06:45:45
【问题描述】:

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

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

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

    从 0.5 版开始,ORM 没有 为任何查询生成排序,除非 显式配置。

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

    【讨论】:

      【解决方案2】:

      在使用 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())

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-30
        • 1970-01-01
        • 2015-11-16
        • 2011-08-13
        • 1970-01-01
        • 2022-08-22
        • 2020-12-05
        相关资源
        最近更新 更多