【发布时间】:2015-11-18 13:07:39
【问题描述】:
假设我有一个经典博客 Post 和多个相关的 Comments 模型。
我正在尝试获取每个带有最后评论的帖子列表
(或至少一个字段)。
我得到的最接近的是通过:
Post.objects.annotate(last_comment=F('comment__text'))
但这只是返回第一个推荐的正文,我明确表示 想要最后一个。
我是否遗漏了一些非常明显的东西?或者有什么聪明的方法 这样做我没看到?
【问题讨论】:
-
有很多方法可以做到这一点。检查此相关问题并确定最适合您的问题:stackoverflow.com/questions/31234880/…
-
从未尝试过 - 但是如果您在评论模型上指定
ordering元属性会发生什么? -
@MarkGalloway 遗憾的是,这里提到的最佳解决方案是保留一个冗余属性来存储最后一个
Comment。这就是我现在正在做的并且想避免的事情。 -
@karthikr 这似乎工作,虽然它听起来有点像“巧合编程”的一个实例。
-
哈哈.. 不,这不是巧合。唯一的缺点是,除了显式 order_by