如何在不中断Django迁移的情况下删除自定义字段?

时间:2018-08-06 12:14:37

标签: django django-migrations django-jsonfield

我正在使用旧django-json-field库的Django 1.8项目中工作。我想删除该库,更新为Django 1.9,并使用本机JSONField,但是我的迁移依赖于旧库中的JSONField,因此无法删除它。我也无法不删除它就更新Django,因为它已被弃用,并在尝试更新Django时导致错误。在这种情况下正确的处理方法是什么?

1 个答案:

答案 0 :(得分:0)

Burhan Khalid在上述评论中建议,一种解决方案是

  • 将已弃用的json字段复制到文本列
  • 创建该迁移
  • 删除已弃用的json字段
  • 创建此迁移
  • 没有痕迹的json字段,请删除该包。测试一切正常,然后升级您的应用。

如果这不起作用(可能是因为在其他地方引用了json字段),则只需将该字段更改为models.py中的文本,然后通过迁移即可实现。