我的项目依赖于 OSS 可重用应用程序,该应用程序包含 Django 导入,该导入在 Django 1.10 中已弃用:
从 django.db.models.sql.aggregates 导入聚合
正在更改为:
从 django.db.models.aggregates 导入聚合
我们在 Django 1.9 上收到警告,这在 Django 1.10 上将变成错误。这阻碍了我们的升级,我想为应用程序提供修复,以便我们可以升级。
一种选择是修改 setup.py 中的要求,以便需要 Django 1.10。但我确信我的贡献会被拒绝,因为它会破坏其他人的利益。
为了保持向后兼容性,我可以将导入作为 try/except
进行,但这感觉很糟糕。看来我需要在导入中进行一些 Django 版本检查。我应该进行 Django 版本检查,返回一个字符串,将其转换为 float ,然后执行 if version > x
吗?这也感觉很hacky。
这方面的最佳实践是什么?例子?
最佳答案
Django 有严格的向后兼容性政策。如果它引发弃用警告,则新版本已经可以在 1.9 中运行。您应该在升级之前切换到它。
关于python - 如何修改可重用应用程序的已弃用导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39907808/