私のプロジェクトでは、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のバージョンチェックを行うべきですか?それはあまりにもハッキリと感じる。
これに関するベストプラクティスは何ですか?例?
私はあなたの応答を理解していないDaniel。私たちのプロジェクトは、再利用可能なアプリケーションでDjango 1.10にアップグレードすることができません。私はこの再利用可能なアプリケーションを修正するのに役立ちます。問題は*どのように私はそれを修正する必要がありますか? – shacker
さて、それは私が理解していない私です。そのアプリに変更を加えている場合は、正しい場所からインポートするようにしてください。 –
そうですが、質問はどうしたらいいのですか?試したり除いたり、現在のバージョンをチェックしたりしますか?私は例のためにグーグルで困った。 – shacker