Aufforderung zum Löschen nicht verwendeter Modelle, veraltete Inhaltstypen

8

Ich entferne eine unnötige Tabelle und ein Modell von unserer Django-Website. Ich habe alle Foreign-Schlüsselreferenzen entfernt, bevor die migrations.DeleteModel (...) aufgerufen wird, aber ich erhalte immer noch die folgende Eingabeaufforderung, wenn ich die Migration ausführen:

  

Die folgenden Inhaltstypen sind veraltet und müssen gelöscht werden:

%Vor%      

Alle Objekte, die mit diesen Inhaltstypen durch einen Fremdschlüssel verknüpft sind, werden ebenfalls verwendet   gelöscht werden. Möchten Sie diese Inhaltstypen wirklich löschen? Ob   Du bist unsicher, antworte mit "Nein".

%Vor%

Ich bin verwirrt, warum ich diese Aufforderung erhalte. Gibt es einen Weg, wie ich diese Aufforderung stoppen kann, wenn wir live gehen? Wir verwenden eine CI-Umgebung, in der wir keine Benutzer haben, die mit "Ja" oder "Nein" antworten können

Danke

    
Nathan Tregillus 29.05.2015, 22:33
quelle

1 Antwort

11

Das contenttypes-Framework enthält Verweise auf Modelltabellen. In diesem Fall haben Sie einen veralteten Verweis auf die Tabelle, die Sie gerade gelöscht haben. Es ist absolut sicher, yes zu beantworten und den veralteten Inhaltstyp zu entfernen. Anders wäre es, wenn Sie eine Tabelle umbenennen würden, auf die ein GenericForeignKey zeigt. In diesem Fall hätten andere Objekte eine ForeignKey für diese ContentType , und das Löschen würde entlang dieser Relationen kaskadieren.

In einer Live-Umgebung können Sie die Option --noinput übergeben, um diese Aufforderung zu unterdrücken. Es wird jedoch standardmäßig no verwendet. Es ist normalerweise nicht wirklich ein Problem, ein paar abgestandene Inhalte zu haben.

    
knbk 29.05.2015, 23:51
quelle

Tags und Links