Почему Django South требует значения по умолчанию при удалении поля?
Когда я удаляю поле NOT NULL с использованием Django South, я получаю следующее сообщение:
? The field 'VisitOrder.end_date' does not have a default specified, yet is NOT NULL.
? Since you are removing this field, you MUST specify a default
? value to use for existing rows. Would you like to:
? 1. Quit now, and add a default to the field in models.py
? 2. Specify a one-off value to use for existing columns now
? 3. Disable the backwards migration by raising an exception.
? Please select a choice:
Почему Юг нуждается в этом, учитывая, что он все равно удалит поле?
Ответы
Ответ 1
Django South позволяет перемещаться вперед или назад через миграцию. Итак, если вы когда-либо решили отменить миграцию, Юг восстановил бы все поля, которые были удалены. Вот почему Юг спрашивает, хотите ли вы указать значение по умолчанию или "отключить миграцию назад, создав исключение".