python - Django ArrayField null=使用 Postgresql 的真正迁移

标签 python django postgresql

所以在 Django 文档中,在 Postgresql 上创建新字段时它说(Full description):

... it’s recommended you always create new columns with null=True, as this way they will be added immediately.

如果我想创建一个像这样的 ArrayField 怎么办:

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

我是否也应该将 null=True 传递给 ArrayField 中的 CharField

最佳答案

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

如果您允许内部类型为 null,您将不得不在代码中处理它,这可能不是您想要的。

关于python - Django ArrayField null=使用 Postgresql 的真正迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36617145/

相关文章:

python - Bokeh 服务器示例不工作

python - 在程序的某些部分显式禁用 MySQL 查询缓存

python - 在处理包/蛋时,zc.buildout 是否比 pip 提供更多

sql - 在数据库中存储用户设置

ruby-on-rails - 唯一性区分大小写 false 导致查询慢

Python-给定输入字母的可能的英语单字变位词

python - 从dicts中删除元素时首选del还是pop

python - 异步设置python3.5中的描述符

sql - 根据列中的重复项选择行

python - Django - 如何将 DeleteView 限制为对象所有者