2011-08-02 18 views
0

私は現在、ここに書かれているように "Pythonic-join technique"を使用しています:Disqus Scaling Presentationdjango-patterns-part-2-efficient-reverse-lookups blogpostselect_relatedと一緒に、N + 1個のクエリを避けるためにこれはかなり一般的な手法です。Django:model_instance._myrelatedmodel_cacheとの互換性

しかし、私はmodel_instance._myrelatedmodel_cacheの公式文書を見つけることができません。私の懸念は、これが実際に文書化されていない機能である場合、廃止は将来の問題になる可能性があるということです。

ありがとうございます!

答えて

1

これは文書化されていない機能なので、将来のバージョンのフレームワークで予告なく変更または削除される可能性があります。パブリックAPIの一部ではないので、あなたはDjangoの非推奨プロセスも保証していないので、すべてのベットはオフになっています。

しかし、現在のバージョン(ほとんどの場合、セキュリティ指向のポイントリリースを含む)を固執すると、コードは正常に動作し続けます。このテクニックを使用して後でアップグレードする場合は、フレームワークのビットが変更されていないことを確認するためにちょっとテストするだけで済みます。フレームワークのそのビットが、非常にそうする可能性が高い。

長期的には、文書化された機能を使用すると人生が楽になるかもしれませんが、スピードや機能性のトレードオフが問題になることがあります。あなたの文脈でその呼び出しを行う必要がありますプロジェクト。