Здравствуйте. Помогите понять: это особенности работы миграций или я что-то делаю неправильно.
Ситуация:
1)В моделях приложения: одна модель связана с другой моделью через model.ForeignKey
. Изначальный вид: models.ForeignKey(Club)
2)Чтобы сделать это поле необязательным для заполнения в админке, добавил в него null=True, blank=True
. Получилось models.ForeignKey(Club, null=True, blank=True)
3)После этого задаю команды (хотя сейчас понимаю, что вроде это не нужно): manage.py makemigrations
и manage.py migrate
Итог:
- django убрал валидацию (проверку на обязательное заполнение) с формы в админке и начал вроде пытаться писать в БД, но!!!
- В самой базе данных PostgreSQL параметры поля не изменились и выдается ошибка:
ОШИБКА: нулевое значение в колонке "club_id" нарушает ограничение NOT NULL
DETAIL: Ошибочная строка содержит (3, 1, name, null, 1).
Решение, которое я нашел:
я просто изменил параметры поля через программку pgAdmin и БД начала пропускать незаполненные данные без ошибок
Вопрос:
это реально так нужно делать или я что-то неправильно настроил\делаю?
Спасибо.