Django ArrayField null =使用Postgresql进行真正的迁移

pri*_*moz 8 python django postgresql

所以在用于在Postgresql上创建新字段的Django文档中它说(完整描述):

...建议您始终使用创建新列null=True,这样它们将立即添加.

如果我想创建一个ArrayField,如下所示:

tags = ArrayField(models.CharField(max_length=255, blank=True, default=''), default=list, null=True)
Run Code Online (Sandbox Code Playgroud)

我也应该null=True进入CharField哪个内部ArrayField

kon*_*iik 7

我认为null=True在内部类型上设置不会给您带来任何好处。您所引用的文档中的注释仅适用于该列本身,因此只要可以ArrayField为空,数据库就不必执行全表重写。

如果允许内部类型为null,则必须在代码中进行处理,而这可能并不是您想要的。