我正在使用Django 1.11
,我一直在模型中使用CharField
,并使用json.dumps()
将数据转储到其中。我正在使用mysql
数据库。
根据this回答,我想将CharField
更改为JSONField
。有什么办法可以修改我的字段类型而不会丢失数据吗?
请注意,CharField中的数据是json dumped。
答案 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)最终处理字段重命名