Wenn Sie sich nicht für Daten interessieren:
Am besten löschen Sie die Datenbank und führen sie syncdb
erneut aus. Oder du kannst laufen:
Für Django> = 1,5
python manage.py flush
Für Django <1,5
python manage.py reset appname
(Sie können --no-input
am Ende des Befehls hinzufügen , damit die interaktive Eingabeaufforderung übersprungen wird.)
Wenn Sie sich für Daten interessieren:
Aus den Dokumenten:
syncdb erstellt nur Tabellen für Modelle, die noch nicht installiert wurden. Es werden niemals ALTER TABLE-Anweisungen ausgegeben, um Änderungen zu entsprechen, die nach der Installation an einer Modellklasse vorgenommen wurden. Änderungen an Modellklassen und Datenbankschemata sind häufig mit Mehrdeutigkeiten verbunden, und in diesen Fällen müsste Django die richtigen Änderungen erraten. Es besteht das Risiko, dass kritische Daten dabei verloren gehen.
Wenn Sie Änderungen an einem Modell vorgenommen haben und die Datenbanktabellen entsprechend ändern möchten, verwenden Sie den Befehl sql, um die neue SQL-Struktur anzuzeigen, und vergleichen Sie diese mit Ihrem vorhandenen Tabellenschema, um die Änderungen zu berechnen.
https://docs.djangoproject.com/de/dev/ref/django-admin/
Referenz: FAQ - https://docs.djangoproject.com/de/dev/faq/models/#if-i-make-changes-to-a-model-how-do-i-update-the-database
Die Leute empfehlen auch South ( http://south.aeracode.org/docs/about.html#key-features ), aber ich habe es nicht versucht.