2009-12-10 11 views
9

Wir haben für ein paar Tage mit diesem zu kämpfen und haben viele Suchanfragen im Web gemacht.Django viele zu viele Insert Bestell

Wir versuchen, herauszufinden, wie Einträge in Django Formen für viele zu viele Felder gespeichert werden.

Zum Beispiel haben wir eine Nachricht Modell, das ein vieles zu viel Beziehung mit Bildern hat. Wenn wir einem Nachrichtenartikel Bilder hinzufügen, z. Bilder mit id 10,2,14 können wir die Post-Werte sind die folgenden sehen, wenn eine Meldung Form zu speichern:

  • Fotos 10
  • Fotos 2
  • Fotos 14

Wenn wir Schau in die Viele-zu-viele-Kreuztabelle, die Reihenfolge ist nicht erhalten. Wir können keine Logik in der Reihenfolge sehen, in der die Fotos eingefügt werden.

Hoffentlich, das Sinn macht!

Vielen Dank für Ihre Antworten im Voraus.

Arif

Antwort

12

Django garantiert nicht die Reihenfolge der many-to-many-Beziehungen zu bewahren. Wenn Sie diese benötigen, sollten Sie eine through Tabelle mit einer expliziten ‚Ordnung‘ Feld.

+0

Daniel, Das ist eine große Hilfe, vielen Dank für Ihre Antwort. Nachdem Sie sich die Dokumente angeschaut haben, die Sie verlinkt haben, scheint das Problem gelöst zu sein. Danke. Arif – Arif

+0

Die Auftragsidee hilft mir auch, danke. Aber wie definieren Sie die Abfrage? Bitte werfen Sie einen Blick auf mein Modell in diesem Beitrag http://stackoverflow.com/questions/18442797/how-to-model-a-reflexive-many-to-many-relationship – Armance

+1

Ich habe eine created = models.DateTimeField (auto_now_add = True) auf meinem Intermediär-/Through-Modell, um den Anzeigenauftrag zu kennen. Dann kann ich .order_by ('erstellt') verwenden –