2016-10-07 3 views
1

私のプロジェクトでは、OSS再利用可能なアプリに依存し、そのアプリはジャンゴ1.10で廃止されDjangoのインポートが含まれています再利用可能なアプリの非難されたインポートを修正するにはどうすればよいですか?

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のバージョンチェックをする必要があるようです。文字列を返し、floatに変換し、if version > xを実行するDjangoのバージョンチェックを行うべきですか?それはあまりにもハッキリと感じる。

これに関するベストプラクティスは何ですか?例?

答えて

1

Djangoには厳重な下位互換性ポリシーがあります。廃止予定の警告が表示された場合は、新しいバージョンがすでに動作しています。は1.9です。アップグレードする前にそれに切り替えてください。

+0

私はあなたの応答を理解していないDaniel。私たちのプロジェクトは、再利用可能なアプリケーションでDjango 1.10にアップグレードすることができません。私はこの再利用可能なアプリケーションを修正するのに役立ちます。問題は*どのように私はそれを修正する必要がありますか? – shacker

+0

さて、それは私が理解していない私です。そのアプリに変更を加えている場合は、正しい場所からインポートするようにしてください。 –

+0

そうですが、質問はどうしたらいいのですか?試したり除いたり、現在のバージョンをチェックしたりしますか?私は例のためにグーグルで困った。 – shacker

関連する問題