Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django将日期字段更改为arrayField_Python_Django_Postgresql - Fatal编程技术网

Python Django将日期字段更改为arrayField

Python Django将日期字段更改为arrayField,python,django,postgresql,Python,Django,Postgresql,我目前正在将整个项目迁移到PostgreSQL。我有两个字段要更改为ArrayField,但遇到了此错误 这是前一个代码: 以下是我所改变的: (ArrayField已导入) 当我尝试使用makemigrations时,没有错误。但是,当我使用migrate命令时,我得到了一个错误django.db.utils.ProgrammingError:cannot cast type date to date[]我不得不删除我的旧迁移,在那之后,它工作得很顺利。您的数据库是否已经包含了这些字段的值?如

我目前正在将整个项目迁移到PostgreSQL。我有两个字段要更改为ArrayField,但遇到了此错误

这是前一个代码: 以下是我所改变的: (ArrayField已导入)


当我尝试使用
makemigrations
时,没有错误。但是,当我使用
migrate
命令时,我得到了一个错误
django.db.utils.ProgrammingError:cannot cast type date to date[]

我不得不删除我的旧迁移,在那之后,它工作得很顺利。

您的数据库是否已经包含了这些字段的值?如果是这种情况,您需要使用另一个名称创建新的“权重”和“日期”,进行迁移以转换旧值并将其添加到新字段中,然后删除旧字段并使用旧名称重命名新字段,则不应该这样做,因为我创建了一个新字段,尽管Django在默认情况下可能会为其添加空值。我会检查它,在没有任何数据的情况下创建一个新的数据库,但仍然会给我相同的错误
weight = models.FloatField(max_length=20, blank=True, null=True)

date = models.DateField(auto_now_add=True)
weight = ArrayField(
    models.FloatField(max_length=20, blank=True, null=True)
)

date = ArrayField(
    models.DateField(auto_now_add=True)
)