Cargando

Ordenar objetos relacionados en Django




Pulsa corazón para recibir avisos de nuevas Respuestas

  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
  • Volver arriba

 

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


X