Ordenar objetos relacionados en Django



   AUTOR PREGUNTA

Publicado 18 noviembre 2014 - 02:33

Tengo dos modelos Categoria e Item, en donde Item tiene una referencia a Categoria:

class Categoria(models.Model):
name = models.CharField(max_length=32)

class Item(model.Models):
nombre= models.CharField(max_length=32)
categoria = models.ForeignKey(Categoria)
sequencia = models.IntegerField()

El campo de secuencia se supone que capture la secuencia de un Item dentro de una categoria.
Mi pregunta es la siguiente, que opciones del Meta necesito para fijar una categoria y/o un item cuando hago algo como esto:

categoria.item_set.all()

Que me obtenga los items ordenados por su numero de secuencia

Se de algo llamado ordering_with_respect_to pero es bastante confuso como funciona el mismo. Agradezco la ayuda.


¿Tienes la misma pregunta? Yo también

 

Publicado 18 noviembre 2014 - 20:30

Prueba con lo siguiente:

categoria.item_set.all().order_by('sequencia')

 

Publicado 18 noviembre 2014 - 20:32

Con el siguiente codigo te aseguras que cualquier item quede ordenado por la secuencia:

class Item(model.Models):
nombre= models.CharField(max_length=32)
categoria= models.ForeignKey(Category)
sequencia = models.IntegerField()

class Meta:
ordering = ['sequencia',]

   AUTOR PREGUNTA

Publicado 18 noviembre 2014 - 20:37

Gracias crack