如何删除Django中不可为空的字段?

时间:2018-05-17 22:54:16

标签: python django django-models

我的模型中有一个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 :(得分:0)

您必须运行manage.py makemigrationsmanage.py migrate应用更改

答案 1 :(得分:0)

默认情况下,当你创建一个新的django字段时,如果你没有明确地提供参数null,它将被视为False,所以如果你没有在创建时指定null参数,它将是默认情况下为null = False。只需删除该字段,保存文件并制作python.manage.py makemigrations,然后运行python.manage.py,以反映您在数据库中对模型所做的更改