Wie entferne ich Modelle aus Django?

7

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?

    
starcorn 21.12.2011, 22:37
quelle

5 Antworten

12

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.

    
Cesar Canassa 21.12.2011, 22:51
quelle
18

Wenn Sie Ihre aktuelle Datenbank nicht löschen und neu synchronisieren möchten, sollten Sie die Tabelle manuell aus Ihrem Modell löschen:

%Vor%     
juliomalegria 22.12.2011 05:20
quelle
1

Warum versuchen Sie nicht einfach, die Modelle aus Ihrer models.py-Datei zu löschen? Wenn Sie

ausführen

python manage.py makemigrations

Die Migrationsdatei sollte mit den gelöschten Modellen aktualisiert werden.

    
nutsy 11.06.2017 19:43
quelle
0

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.

    
FatBusinessman 22.12.2011 00:17
quelle
0

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

    
Aneri Mehta 29.01.2018 17:41
quelle

Tags und Links