【发布时间】:2012-03-01 07:29:10
【问题描述】:
我有以下 django 模型
class Post(models.Model):
title = models.CharField(max_length=240)
class Comment(models.Model):
post = models.ForeignKey(Post)
date = models.DateTimeField(auto_now_add=True)
我需要一个 QuerySet 的 cmets,首先按邮寄顺序排序,然后按日期排序。 但帖子必须按其最新评论排序。
如果我可以在 QuerySet order_by 中使用模型方法,它会是这样的:
class Post(models.Model):
title = models.CharField(max_length=240)
def get_last_comment_date(self):
return self.comment_set.order_by('-date')[0].date
我需要的顺序可能是:
Comment.objects.all().order_by('post__get_last_comment_date', '-date')
但不幸的是,order_by 中的方法是不允许的。
请帮忙。我可以这样订购吗?
【问题讨论】: