Я понятия не имею, что Django пытается мне сказать. У меня есть модель, WeekTwo
, которая наследует от Week
, которая наследуется от modelsModel
. У меня есть другая модель, UserProfile
. Я хочу использовать WeekTwo
как ключ OneToOne в UserProfile
, поэтому я вставил следующую строку кода:В поле не указано значение по умолчанию, но NOT NULL
weekTwo = models.OneToOneField(WeekTwo)
Однако, когда я пытаюсь перенести свою базу данных с помощью python manage.py schemamigration my_app --auto
, я получаю следующее сообщение об ошибке:
The field 'UserProfile.weekTwo' does not have a default specified, yet is NOT NULL.
Я попытался добавить default=0
к моей weekTwo
декларации, но теперь я получаю эту ошибку, когда я пытаюсь миграция схемы:
IntegrityError: column weekTwo_id is not unique
Кроме того, юг теперь говорит мне, что я в interim state between migrations
и что я might be able to recover
. Я буквально понятия не имею, что это значит.
Вы читали документы? :) http://south.readthedocs.org/ru/latest/tutorial/part2.html – favoretti
Первоначально вам сообщалось, что, поскольку ваше новое поле было обязательным, все ваши существующие строки в таблице необходимо будет обновить. Если вы перенесли миграцию, она попросила бы ввести значение по умолчанию. Если вы еще не перенести, вы сможете удалить две миграции и начать снова –