0

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

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

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

我的问题是:如何构造一个返回所有评论并按分数值排序的查询集?

提前致谢!

马丁

4

2 回答 2

4

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

但是无论哪种方式,查询都可以这样完成:

Comment.objects.order_by('score__value')
于 2009-10-29T14:50:11.297 回答
1

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

comments = [ score.comment for score in Score.objects.order_by('value').all() ]
于 2009-10-29T14:10:35.493 回答