Добавление нового поля в существующую таблицу без присвоения ему значения по умолчанию [Django]

просто из любопытства, есть ли способ добавить новое поле в модель Django без указания значения по умолчанию?

Например, у меня есть модель и необходимо новое поле, но поле не может быть null или пустым, а значение по умолчанию недопустимо

Вы можете полностью пересоздать модель и таблицу, если вы находитесь в процессе разработки (удалить миграции приложения и вызвать команду makemigrations и migrate django), но после этого шага это невозможно без потери данных

С другой стороны, вы можете использовать функцию для определения значения по умолчанию для поля модели. Это может помочь вам определить значение по умолчанию во время создания модели

def get_default_value():
    return "value"

message = CharField(default=get_default_value)

Дополнительная информация: https://docs.djangoproject.com/en/dev/ref/models/fields/#default

Вернуться на верх