在这种情况下,我有两个模型,评论和分数。这种关系在Score模型中定义,如下所示:
class Comment(models.Model):
content = TextField()
...
class Score(models.Model):
comment = models.ForeignKey(Comment)
value = models.IntegerField()
我的问题是:如何构建一个返回所有注释的查询集,并按Score的值排序?
提前致谢!
马丁
答案 0 :(得分:4)
您应该将您的分数模型更改为使用OneToOne字段,而不是ForeignKey - FK意味着每个评论有多个分数,这将永远不会有效。
无论如何,查询可以这样完成:
Comment.objects.order_by('score__value')
答案 1 :(得分:1)
我还是Django的新手,但现在已经工作了几个月了。我认为这个代码段可能有效(按递增顺序,用于降序使用'-value'
):
comments = [ score.comment for score in Score.objects.order_by('value').all() ]