0

この状況では、コメントとスコアの2つのモデルがあります。関係は、次のようにスコアモデルで定義されます。

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

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

私の質問は、すべてのコメントを返し、スコアの値で並べ替えられるクエリセットを作成するにはどうすればよいですか?

前もって感謝します!

マーティン

4

2 に答える 2

4

スコアモデルを変更して、ForeignKeyではなくOneToOneフィールドを使用する必要があります。FKは、コメントごとに複数のスコアがあることを意味しますが、これは機能しません。

ただし、どちらの方法でも、クエリは次のように実行できます。

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

私はまだDjangoを初めて使用しますが、ここ数か月間Djangoを使用して作業しています。このスニペットは機能する可能性があると思います(昇順、降順'-value'):

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