如何在Django查询中使用条件排序?

时间:2009-11-18 22:19:43

标签: django django-models

我正在实施一个基本的论坛应用。我想按照他们的最后回复时间对问题进行排序。 我有以下几行:

    questions = Question.objects.filter(deleted=False).order_by("last_comment__created_at")

但是,此查询忽略了没有答案的新问题。如果不在Question模型中创建新字段,最好的解决方法是什么?

1 个答案:

答案 0 :(得分:1)

在问题模型中

,添加一个名为last_update的日期时间字段。然后在创建问题时在其中放置时间戳,并且还在注释保存方法中更新self.question.last_update。那样你可以按:

排序
    questions = Question.objects.filter(deleted=False).order_by("-last_update")

- 表示较新的将是查询集中的第一个。