Frage

In dieser Situation habe ich zwei Modelle, Kommentieren und Score. Die Beziehung ist in dem Score-Modell definiert, etwa so:

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

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

Meine Frage ist: Wie kann ich eine queryset konstruieren, das alle Kommentare zurück und wird durch den Wert von Score bestellt

Vielen Dank im Voraus!

Martin

War es hilfreich?

Lösung

Sie sollten Ihr Score-Modell ändern, um ein OneToOne Feld zu verwenden, keine ForeignKey -. Ein FK bedeutet mehr als ein Score pro Kommentar ist, die nie funktionieren würde

Doch so oder so, kann die Abfrage wie folgt durchgeführt werden:

Comment.objects.order_by('score__value')

Andere Tipps

Ich bin zu Django noch neu, aber jetzt w / es für ein paar Monate gearbeitet. Ich denke, das Snippet könnte (in aufsteigender Reihenfolge für den Einsatz '-value' absteigend) arbeiten:

comments = [ score.comment for score in Score.objects.order_by('value').all() ]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top