首页 > 解决方案 > 将 django 从 1.8 升级到 2.2.0

问题描述

我将我的 django 项目从 1.8 升级到 2.2.0(使用来自 virtualenv 的 Python 3.6)。我已经完成了以下更改。

  1. 将 on_delete 添加到所有外键字段
  2. 将 url 反向导入更改为 from django.urls import reverse
  3. 在所有应用程序的 url 文件中包含 path/re_path 而不是 url。
  4. 将设置文件中的 MIDDLEWARE_CLASSES 导入更改为 MIDDLEWARE = {}

我试图运行服务器,但它仍然显示“TypeError:init()缺少1个必需的位置参数:'on_delete'并且它指向/usr2/santhosh/myproject/myapp/migrations/0002_abc.py

我现在该怎么办?我需要从应用程序中删除所有迁移文件并重新运行 python manage.py migrate 还是什么?帮助我你知道。

标签: pythondjangopython-3.xdjango-2.0

解决方案


迁移文件仍然只是 python 文件,因此您也需要更新其中的所有引用。

如果您想要一种简单的方法来执行此操作,请查看Easy way to set on_delete across entire application


推荐阅读