说,我有一个这个领域的模型:
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
我该如何解决这个问题?
答案 0 :(得分:3)
如果要启用null / empty值,请将其更改为:
is_retired = models.CharField(max_length=50, null=True, blank=True)
您可能还想在另一次迁移中将空值更改为空字符串('')。