Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie migriere ich Django-Modelle zwischen Apps mit Django 1.7?

DDD
Freigeben: 2024-11-05 14:00:03
Original
807 Leute haben es durchsucht

How do I Migrate Django Models Between Apps with Django 1.7?

Django-Modelle zwischen Apps mit Django 1.7 migrieren

In Django-Projekten kommt es häufig vor, dass Modelle, die ursprünglich in einer einzelnen App platziert wurden, zur Verbesserung in separate Apps verschoben werden sollten Struktur. Obwohl Django 1.7 aufgrund von Fremdschlüsseleinschränkungen zuvor eine Herausforderung darstellte, bietet die Unterstützung von Migrationen durch Django 1.7 einen effizienteren Ansatz.

So verschieben Sie ein Modell von einer alten App in eine neue App:

1. Aus der alten App entfernen:

  • Erstellen Sie eine leere Migration für die alte App.
  • Verwenden Sie in der Migrationsdatei AlterModelTable, um die Tabelle umzubenennen, und DeleteModel, um das Modell zu entfernen aus dem Verlauf der alten App.
  • Verpacken Sie diese Vorgänge in einen SeparateDatabaseAndState-Vorgang.

2. Zur neuen App hinzufügen:

  • Kopieren Sie das Modell in die Modelldatei der neuen App.
  • Erstellen Sie eine Migration für die neue App mit einem naiven CreateModel-Vorgang.
  • Wickeln Sie diesen Vorgang in einen SeparateDatabaseAndState-Vorgang ein, der die Migration aus Schritt 1 als Abhängigkeit referenziert.

Das obige ist der detaillierte Inhalt vonWie migriere ich Django-Modelle zwischen Apps mit Django 1.7?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage