Обновление с Django 1.6 (с юга) до 1.8 не изменяет last_login в пользовательской таблице
Я обновился с Django 1.6.5 (с южными миграциями) до Django 1.8. Я следовал инструкциям здесь:https://docs.djangoproject.com/en/1.8/topics/migrations/#upgrading-from-south
Итак, я удаляю Юг, удаляю мои предыдущие миграции и запускаюpython manage.py makemigrations
который создает новый файл миграции. Тогда я бегуpython manage.py migrate --fake-initial
подделать начальную миграцию. Тогда я бегуpython manage.py migrate
.
Все работает нормально, без ошибок.
У меня есть пользовательская модель, которая наследуетAbstractBaseUser
, В Django 1.8 кажется, что есть изменениеlast_login
поле, где он теперь может принятьnull
значение (https://docs.djangoproject.com/fr/1.8/ref/contrib/auth/#django.contrib.auth.models.User.last_login).
Проблема у меня в том, что миграция не меняетlast_login
поле в таблице базы данных, чтобы принять нулевые значения. В результате, когда я пытаюсь сохранить, я получаюIntegrityError
поговорка(1048, "Column 'last_login' cannot be null")
.
Как я могу это исправить? Нужно ли вручную менять поле в базе данных или есть способ исправить это с помощью миграций?
редактировать Когда я бегуpython manage.py migrate --fake-initial
вывод таков: Запуск миграций:
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
Однако, когда я смотрю в базу данных, я все еще вижуuser_last_login
как не-ноль.