Spaltenreihenfolge in Djangos Modell

8

Ich frage mich also, wie man die Reihenfolge der Spalten in Model definiert, so dass, wenn Django das Engineering zum Generieren der Datenbank weiterleitet, die Reihenfolge der Spalten in der physischen Datenbanktabelle vom Modell selbst bestimmt werden kann?

>

Gegenwärtig werden einige meiner Modellklassen von einer anderen Modellklasse übernommen, daher legt die abgeleitete Modellklasse immer zuerst die Spalten der übergeordneten Klasse ab, aber ich möchte das kontrollieren.

Danke

    
zsong 11.11.2010, 20:06
quelle

4 Antworten

4

Auf Django 1.8 funktionierte das für mich:

  • run ./manage.py makemigrations
  • Bearbeiten Sie die Migration
  • ordnen Sie die fields -Liste auf migrations.CreateModel .
  • neu an

Ich habe dies jedoch nicht mit Vererbung getestet.

    
felixhummel 03.08.2015 13:29
quelle
2

Gegenwärtig gibt es keine integrierte Möglichkeit, dies in Django zu tun.

Ich erinnere mich an einen Django-Dev Thread / Ticket, der das besprochen hat, aber ich kann es im Moment nicht finden. Ich werde dies aktualisieren, wenn ich es finde (und jeden anderen willkommen heißen, wenn sie es tun.)

Es gibt wahrscheinlich eine Möglichkeit, dies in den Kern zu hacken, wenn Sie es wirklich so dringend brauchen.

    
sdolan 11.11.2010 21:19
quelle
0

Sie könnten django-admin.py sql ausführen welches das SQL, das die Tabelle für eine oder alle Anwendungen erstellt, druckt, passt das SQL an Ihre Bedürfnisse an und lässt es manuell in irgendeiner db-Schale Ihrer Wahl laufen!

    
Bernhard Vallant 11.11.2010 20:16
quelle
0

Müssen Sie die Reihenfolge der Felder in der Datenbank oder nur so steuern, wie sie den Benutzern präsentiert werden? Wenn Letzteres, gibt es andere Möglichkeiten. Zum Beispiel können Sie im Admin die Reihenfolge der Felder mit fieldsets oder Felder .

    
aptwebapps 12.11.2010 16:12
quelle

Tags und Links