[PYTHON] Django: Die Migration spiegelt nicht das Modell in der Datenbank wider

Nicht reflektiert

Wie der Titel schon sagt, hat sich die Migration von Django nicht in der Datenbank niedergeschlagen und ich habe gelitten, also werde ich sie aufzeichnen.

Umgebung

・ Windows10 Enterprise -Docker Desktop für Windows: 2.1.0.1 ・ MySQL: 5.7.28 (auf Docker) ・ Django: 3.0 (auf Docker)

Hintergrund

Als ich models.py ein neues Modell (als ** Modell A ** bezeichnet) hinzufügte und es migrierte, wurde es nicht in der Datenbank wiedergegeben. Da Änderungen in anderen Modellen berücksichtigt werden, wird geschätzt, dass nur ** Modell A ** ein Problem darstellt.

Ich habe verschiedene Dinge ausprobiert

Ich habe verschiedene Dinge unter Bezugnahme auf die folgenden Artikel versucht.

・ Was ist zu tun, wenn Sie mit Django migrieren, dies wird jedoch nicht in der DB [Django-Ausgabe] angezeigt? ・ Zurücksetzen von Migrationen mit Django (Beibehalten der vorhandenen Datenbank) ・ Kann nicht mit Django migrieren ・ Reflexion von Djangos models.py (python manage.py makemigrations / migrate) ・ Das Phänomen, dass eine Spalte zum Modell hinzugefügt, aber nicht zur Migrationsdatei hinzugefügt wird ・ Was tun, wenn die Migration von python manage.py nicht funktioniert? [Django]

Im Allgemeinen wurde gesagt, dass wenn Sie den Migrationsverlauf mit "python manage.py migrate --fake hoge zero" löschen, die Dateien im Ordner löschen, dann migrieren und migrieren, dies angezeigt wird, aber gelöscht wurde.

Warst du es

Sobald ich die Datenbank lösche und erneut versuche zu migrieren ... ** Modell A ** und ein anderes Modell (nennen wir es ** Modell B ) werden nicht wiedergegeben. Wenn ich "models.py" mit einem guten Gefühl von "?" Lies, haben nur diese beiden Modelle die Zeichen " verwaltet = Falsch **" in "Klasse Meta:".

models.py


    class Meta:
        managed = False
        db_table = 'temp'

Ich habe es gelöscht und erneut migriert, und es war geschafft. Einfach. Ich habe die Grundlagen einfach nicht verstanden. ** Modell B ** fügt das von irgendwo kopierte Format ein, und ich habe es kopiert, um ** Modell A ** zu erstellen. Es scheint also, dass ich in dieser Falle gefangen bin. Wenn Sie "verwaltet = falsch" schreiben, wird die Migration anscheinend nicht verwaltet. Das sollte nicht reflektiert werden. (Ich schrieb in "History", dass die Änderungen anderer Modelle reflektiert wurden, aber ich habe es nicht mit ** Model B ** versucht)

Deshalb

Es ist ein Rätsel, warum die Kopierquelle dies enthielt, aber da es vorerst funktionierte ... Unter Leuchtturm leben. Ich beschloss, es etwas genauer zu betrachten.

Recommended Posts

Django: Die Migration spiegelt nicht das Modell in der Datenbank wider
Modelländerungen in Django
Wie man CSS in Django reflektiert
Implementieren Sie ein benutzerdefiniertes Benutzermodell in Django
Django-Modell: ManyToManyField
Modell in Django
So reflektieren Sie ImageField in Django + Docker (Kissen)
Form in Django
So erhalten Sie mehrere Modellobjekte zufällig in Django
Django DB-Initialisierungsbefehl
Hochleistungs-Django - Modell
[Django] Verwalten Sie Einstellungen wie das Schreiben in settings.py mit einem Modell
Erstellen Sie mit Django ein benutzerfreundliches Folgemodell mit ManyToManyField through