Pregunta

En esta situación tengo dos modelos, Comentario y Puntuación. La relación se define en el modelo de Puntuación, así:

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

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

Mi pregunta es: ¿Cómo construyo un conjunto de consultas que devuelva todos los Comentarios y esté ordenado por el valor de Puntuación?

¡Gracias de antemano!

Martin

¿Fue útil?

Solución

Debe cambiar su modelo de Puntuación para usar un campo OneToOne, no una ForeignKey: un FK implica que hay más de una Calificación por Comentario, lo que nunca funcionaría.

Sin embargo, de cualquier manera, la consulta se puede hacer así:

Comment.objects.order_by('score__value')

Otros consejos

Todavía soy nuevo en Django, pero he estado trabajando con él durante un par de meses. Creo que este fragmento podría funcionar (en orden ascendente, para uso descendente '-value' ):

comments = [ score.comment for score in Score.objects.order_by('value').all() ]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top