Upgrade von Django 1.6 (mit Süd) auf 1.8 ändern nicht 'last_login' in der Benutzertabelle
Ich habe ein Upgrade von Django 1.6.5 (mit Südmigrationen) auf Django 1.8 durchgeführt. Ich habe die Anweisungen hier befolgt:https: //docs.djangoproject.com/de/1.8/topics/migrations/#upgrading-from-sout
So entferne ich South, lösche meine vorherigen Migrationen und startepython manage.py makemigrations
erstellt eine neue Migrationsdatei. Dann laufe ichpython manage.py migrate --fake-initial
, um die anfängliche Migration vorzutäuschen. Dann laufe ichpython manage.py migrate
.
Es läuft alles einwandfrei ohne Fehler.
Ich habe ein benutzerdefiniertes Benutzermodell, das @ erbAbstractBaseUser
. In Django 1.8 scheint es eine Änderung am @ zu geblast_login
-Feld, in dem es jetzt möglich ist, ein @ zu akzeptiernull
Wert https: //docs.djangoproject.com/fr/1.8/ref/contrib/auth/#django.contrib.auth.models.User.last_logi).
Das Problem, das ich habe, ist, dass die Migration das @ nicht ändelast_login
-Feld in der Datenbanktabelle, um Nullwerte zu akzeptieren. Wenn ich versuche zu speichern, erhalte ich als Ergebnis einIntegrityError
Sprichwort(1048, "Column 'last_login' cannot be null")
.
Wie kann ich das beheben? Muss ich das Feld in der Datenbank manuell ändern oder gibt es eine Möglichkeit, es bei Migrationen zu beheben?
Bearbeite Wenn ich rennepython manage.py migrate --fake-initial
Die Ausgabe lautet wie folgt: Ausführen von Migrationen:
Rendering model states... DONE
Applying contenttypes.0001_initial... FAKED
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0001_initial... FAKED
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying core.0001_initial... FAKED
Applying admin.0001_initial... FAKED
Applying sessions.0001_initial... FAKED
Wenn ich jedoch in der Datenbank nachschaue, sehe ich immer nochuser_last_login
als nicht-null.