Django将Model&#39的字段类型从CharField更改为JSONField

时间:2018-03-14 09:55:43

标签: python django django-models

我正在使用Django 1.11,我一直在模型中使用CharField,并使用json.dumps()将数据转储到其中。我正在使用mysql数据库。

根据this回答,我想将CharField更改为JSONField。有什么办法可以修改我的字段类型而不会丢失数据吗?

请注意,CharField中的数据是json dumped。

1 个答案:

答案 0 :(得分:0)

如果要完全控制流程,请编写自定义迁移:

1)添加JSONField类型的新字段null = True

2)使用自定义空迁移复制数据  首先使用RunPython https://docs.djangoproject.com/en/2.0/ref/migration-operations/#django.db.migrations.operations.RunPython

3)检查所有内容是否已复制好

4)删除旧字段

5)最终处理字段重命名