首页 > 解决方案 > 在 Django 中将 Char 字段更改为数组字段时出错

问题描述

我正在尝试更改 django 模型中的现有 CharField(它还允许 null 并且当前在 db 中包含 null 值)

现在我正在尝试将其更改为 Array Char Field,但它会引发以下错误

“django.db.utils.IntegrityError:列“标签”包含空值”

tags= models.CharField(max_length=255, blank=True, null=True)

tags = ArrayField(models.CharField(max_length=255, blank=True, null=True))

我在运行迁移之前选择了选项 2

标签: pythonpython-3.xdjangodjango-modelsdjango-rest-framework

解决方案


在您选择的这个选项 2 中,您被要求自己选择一个默认值,对吧?

将默认属性添加到模型的字段。现有的 null 值将转换为该值,例如:

tags = ArrayField(models.CharField(max_length=255, blank=True, null=True, default=[]))

推荐阅读