如何升级django项目的多个版本(1.8到1.11+)?

时间:2018-04-04 13:54:28

标签: python django upgrade django-1.8 django-1.11

我正在将一个在Django 1.8上运行的旧项目升级到LTS的至少Django 1.11。我听说升级django项目多个版本可能很难和令人沮丧。我没有这样做,所以我的问题;每个版本升级更好,1.8 - > 1.9 - > 1.10 - > 1.11。或者你建议我从1.8升级到1.11。请在升级时留意这一点以及我需要记住的其他事项。

提前致谢

2 个答案:

答案 0 :(得分:3)

升级可能很困难,取决于您的情况。

首先,检查每个版本的更改日志。这里的目标是了解是否存在可能影响代码的重大更改。例如,外部字段模型中的on_delete参数是可选的,现在是必需的。

如果您发现某些内容,只需更新您的代码即可。 真正能够产生差异的是测试的存在。当我们从python2移动到python3和django 1.7到1.11时,测试是我们的保险。

我们刚开始使用带有新python和新django的virtualenv将我们的代码升级到另一个分支,只需修复,测试然后合并开发。如果你没有测试,也许是时候写一些了。

我不建议你直接跳到django 2.0。同样,如果您有测试,您可以逐步更新,然后检查deprecation warnings。这些对于准备下一版本的代码非常有帮助。

<强>更新

在此过程中,我们会检查我们的要求并修改我们系统中的每个包以验证兼容性。我们清理了一些删除一些软件包并更新其他软件包。再次,如果你有测试,你有保险: - )

<强>结论

  • 检查更改日志
  • 使用单独的分支

然后:

  1. 逐步更新(例如从1.7升级到1.8)
  2. (写和)运行测试
  3. 更新您的代码/包
  4. 运行测试
  5. 如果一切正常,那么合并回来 在开发中
  6. 再次分支并返回1

答案 1 :(得分:1)

距离1.8到1.11还不远。我以前更新了这样的版本,我很少遇到问题。在大多数情况下,我所遇到的问题与Django无关是因为在项目中使用的一些库需要更新以及我们更新Django