Wie entfernen Sie in Django Modelle, die Sie in die Datenbank synchronisiert haben?
Zum Beispiel hatte auf der Django Tutorial-Seite dieser folgende Code
%Vor% Dann habe ich python manage.py sql polls
und python manage.py sql polls
verwendet, um die Tabellen in der Datenbank zu erstellen. Aber was, wenn ich etwas falsch gemacht habe und dieses Modell nicht mehr möchte. Was ist die Syntax, um es zu entfernen?
Es gibt keine Syntax. Django entfernt keine Tabellen oder Spalten. Sie müssen Ihre Datenbank manuell ändern oder ein Migrationstool wie South verwenden.
Wenn Sie mit dem Tutorial herumspielen, ist es einfacher, Ihre sqlite-Datenbankdatei zu löschen und eine Synchronisierung erneut auszuführen.
Wenn Sie Ihre aktuelle Datenbank nicht löschen und neu synchronisieren möchten, sollten Sie die Tabelle manuell aus Ihrem Modell löschen:
%Vor% Djangos Datenbankbehandlung durch syncdb
ist rein additiv: Es werden neue Modelle hinzugefügt, gelöschte Modelle werden jedoch nicht gelöscht und modifizierte Modelle werden nicht modifiziert.
Wenn Sie keine Daten haben, die Sie beibehalten möchten, können Sie die Datenbank einfach löschen und neu erstellen: wenn Sie etwas haben möchten, das Sie behalten möchten, oder wenn Sie beabsichtigen etwas zu haben Ich möchte dich nicht stark genug beraten, ein Migrationstool zu verwenden : Süden war de facto Standard für jedes Projekt, an dem ich gearbeitet habe.
Ich habe versucht, das Modell, das ich löschen wollte, zu kommentieren und ein neues hinzuzufügen. Dann, nachdem ich Python manage.py Makemigrationen gemacht habe, fragte es mich, ob ich mein Modell umbenannte. Ich antwortete mit Nein und das vorherige (kommentierte) Modell wurde gelöscht. Also ich denke, es löscht dieses Modell aus der Datenbank
Tags und Links django