如何修改可重用应用程序的弃用导入?

时间:2016-10-07 00:57:13

标签: python django

我的项目依赖于OSS可重用的应用程序,该应用程序包含Django导入,在Django 1.10中已弃用:

from django.db.models.sql.aggregates import Aggregate

正在改为:

from django.db.models.aggregates import Aggregate

我们收到Django 1.9的警告,这将成为Django 1.10的错误。这阻碍了我们的升级,我想为应用程序提供修复,以便我们升级。

一种选择是修改setup.py中的要求,以便需要Django 1.10。但我确信我的贡献会被拒绝,因为它会为其他人打破。

为了保持向后兼容性,我可以将导入作为try/except进行,但这会让人觉得很难。好像我需要在导入中做一些Django版本检查。我应该执行Django版本检查,它返回一个字符串,将其转换为浮点数,然后执行if version > x?那也感觉很难过。

最佳做法是什么?实例

1 个答案:

答案 0 :(得分:1)

Django有严格的向后兼容性政策。如果它提出了弃用警告,则新版本在1.9中已经。您应该在升级之前切换到它。