2009-12-10 14 views
9

Hemos estado luchando con esto durante unos días y hemos realizado muchas búsquedas en la web.Django Muchos a muchos Insertar pedidos

Estamos tratando de averiguar cómo se guardan las entradas en formularios Django para muchos campos.

Por ejemplo, tenemos un modelo de noticias que tiene una relación de muchos a muchos con las imágenes. Cuando agregamos imágenes a un artículo de noticias, p. imágenes con el ID 10,2,14 podemos ver los valores postales son de la siguiente forma cuando se guarda un artículo de noticias:

  • fotos 10
  • fotos 2
  • fotos 14

Cuando mira en la tabla de intersección de muchos a muchos, el orden no se ha conservado. No vemos lógica en el orden en que se insertan las fotos.

¡Espero que tenga sentido!

Muchas gracias por sus respuestas con anticipación.

Arif

Respuesta

12

Django no garantiza para preservar el orden de las relaciones muchos-a-muchos. Si necesita esto, debe usar una tabla through con un campo explícito de 'orden'.

+0

Daniel, Eso es una gran ayuda, muchas gracias por su respuesta. Después de haber examinado los documentos a los que se ha vinculado, parece que se resuelve el problema. Gracias. Arif – Arif

+0

La idea del pedido también me ayudará, gracias. ¿Pero cómo definirías la consulta haciendo esto? Por favor, eche un vistazo a mi modelo en esta publicación http://stackoverflow.com/questions/18442797/how-to-model-a-reflexive-many-to- many -relationship – Armance

+1

Utilicé un created = models.DateTimeField (auto_now_add = True) en mi modelo intermediario/directo para conocer el orden de inserción. Entonces puedo usar .order_by ('created') –

Cuestiones relacionadas