2017-03-25 3 views
2

Zusätzlich zum Hinzufügen/Löschen/Ändern von Feld zu Modell erkennt Django auch Änderungen, wenn ich Methoden zum Modell hinzufüge oder modifiziere.Django: Wann Makemigrationen laufen?

Also meine Frage ist, sollte ich makemigrations jedes Mal, wenn ich eine neue Methode in Modellen ändern oder hinzufügen?

Antwort

6

Wenn Sie Modellmethoden hinzufügen/ändern, müssen Sie ./manage makemigrations und ./manage.py migrate nicht ausführen.

Wenn Sie jedoch Ihre Modellfelder bearbeiten (ein neues hinzufügen, ein bestehendes ändern oder eines der Argumente ändern), sollten Sie immer Migrationen ausführen.

+0

Immer wenn ich die Meta-Klasse hinzufüge oder ändere, erkennt Django es als Änderungen? Soll ich auch Migrationen für sie erstellen? – Cody

+0

@ Cody. Ja, Django erkennt 'Meta'-Änderungen, also solltest du jedes Mal 'makemigrations' und' migrieren'! –

0

Zunächst einmal

./manage makemigrations

schaffen wird (migration_number) Py-Dateien in Ihrem Ordner Migrationen App. Diese Codezeilen sind nichts anderes als Anweisungen, die beim Erstellen tatsächlicher Felder in Ihrer jeweiligen Datenbank ähnlich wie SQL-Anweisungen helfen.

Um die Migration auszuführen, die den vorherigen Befehl erstellt wurden, werden wir den folgenden Befehl ausführen,

./manage.py migrate

auf Ihr neues Modellfeld wandert in Datenbank reflektiert werden, wenn es keine Fehler geben

Verwandte Themen