如何升级Django project多个版本(1.8到1.11+)?

2024-05-13 03:46:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将运行在django1.8上的旧项目升级到至少django1.11。我听说升级一个django项目的多个版本是困难和令人沮丧的。我还没有这么做,所以我的问题是:每个版本升级1.8->;1.9->;1.10->;1.11是否更好。或者你建议我直接从1.8升级到1.11。请留下你最好的想法在这和其他事情我需要记住在升级。在

提前谢谢


Tags: 项目djangogt版本事情建议版本升级请留下
2条回答

从1.8到1.11不远。我以前也更新过这样的版本,而且我很少遇到问题。通常,我遇到的问题与Django没有任何关系,因为项目中使用的一些库需要更新,而我们也需要更新Django

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

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

如果你发现了什么,就更新你的代码。 真正能产生差异的是测试的存在。当我们从python2迁移到python3,django1.7到1.11时,测试就是我们的保险。在

我们只是开始使用virtualenv和新的python和新的django将代码升级到不同的分支,然后在开发中进行修复、测试和合并。如果你没有测试,也许是时候写一些测试了。在

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

更新

在这个过程中,我们检查了我们的需求,并修改了我们系统中的每个包,以验证兼容性。我们清理一点删除一些包,并更新一些其他的。同样,如果你有测试,你就有了保险:-)

结论

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

然后:

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

相关问题 更多 >