我有一个这个领域的模型:
is_retired = models.NullBooleanField()
它从未为数据库中的任何记录设置过,因此我认为所有记录对此字段都有一个空值。
现在要将其更改为字符串字段:
is_retired = models.CharField(max_length=50)
我用的是Django 1.7,运行
makemigrations
,看起来很好,说了一些关于修改字段的事情。但是,当我实际运行migrate
命令时,它会失败django.db.utils.IntegrityError: column "is_retired" contains null values
我该怎么解决?
最佳答案
如果要启用空值,请将其更改为:
is_retired = models.CharField(max_length=50, null=True, blank=True)
您可能还希望在另一个迁移中将空值更改为空字符串('')。
关于python - 我可以更改模型字段的类型吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25009792/