我正在将一个在Django 1.8上运行的旧项目升级到LTS的至少Django 1.11。我听说升级django项目多个版本可能很难和令人沮丧。我没有这样做,所以我的问题;每个版本升级更好,1.8 - > 1.9 - > 1.10 - > 1.11。或者你建议我从1.8升级到1.11。请在升级时留意这一点以及我需要记住的其他事项。
提前致谢
答案 0 :(得分:3)
升级可能很困难,取决于您的情况。
首先,检查每个版本的更改日志。这里的目标是了解是否存在可能影响代码的重大更改。例如,外部字段模型中的on_delete
参数是可选的,现在是必需的。
如果您发现某些内容,只需更新您的代码即可。 真正能够产生差异的是测试的存在。当我们从python2移动到python3和django 1.7到1.11时,测试是我们的保险。
我们刚开始使用带有新python和新django的virtualenv将我们的代码升级到另一个分支,只需修复,测试然后合并开发。如果你没有测试,也许是时候写一些了。
我不建议你直接跳到django 2.0。同样,如果您有测试,您可以逐步更新,然后检查deprecation warnings
。这些对于准备下一版本的代码非常有帮助。
<强>更新强>
在此过程中,我们会检查我们的要求并修改我们系统中的每个包以验证兼容性。我们清理了一些删除一些软件包并更新其他软件包。再次,如果你有测试,你有保险: - )
<强>结论强>
然后:
答案 1 :(得分:1)
距离1.8到1.11还不远。我以前更新了这样的版本,我很少遇到问题。在大多数情况下,我所遇到的问题与Django无关是因为在项目中使用的一些库需要更新以及我们更新Django