在这种情况下,我有两个模型,评论和分数。这种关系在Score模型中定义,如下所示:

class Comment(models.Model):
    content = TextField()
    ...

class Score(models.Model):
    comment = models.ForeignKey(Comment)
    value = models.IntegerField()

我的问题是:如何构建一个返回所有注释的查询集,并按Score的值排序?

提前致谢!

马丁

有帮助吗?

解决方案

您应该将您的分数模型更改为使用OneToOne字段,而不是ForeignKey - FK意味着每个评论有多个分数,这将永远不会有效。

无论如何,查询可以这样完成:

Comment.objects.order_by('score__value')

其他提示

我还是Django的新手,但现在已经工作了几个月了。我认为这个片段可能有效(按升序排列,用于降序使用'-value'):

comments = [ score.comment for score in Score.objects.order_by('value').all() ]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top