Как убрать ненулевое поле в Django? - PullRequest
0 голосов
/ 18 мая 2018

В моей модели есть поле category, которое я хочу удалить.Однако у него не было null=True, поэтому (из предыдущего опыта) его удаление приведет к ошибке django.db.utils.IntegrityError: null value in column “category” violates not-null constraint.

В любом случае?

Вот поле:

class Post(models.Model):
    ...
    category = models.CharField(max_length=20, choices=CATEGORY_CHOICES, default='1')

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

По умолчанию, когда вы создаете новое поле django и если вы явно не предоставляете аргумент null, он будет рассматриваться как False, поэтому, если вы не указали аргумент null при создании, он будет по умолчанию null = Ложь. Просто удалите поле, сохраните файл и сделайте make-миграцию python.manage.py, а затем мигрируйте python.manage.py, чтобы отразить изменения, которые вы внесли в вашу модель в БД

0 голосов
/ 18 мая 2018

Вы должны запустить manage.py makemigrations И manage.py migrate, чтобы применить изменения

...