APIの安定性—Djangoのドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/misc/api-stability
移動先:案内検索

APIの安定性

Djangoは、APIの安定性と上位互換性に取り組んでいます。 一言で言えば、これは、Djangoのバージョンに対して開発したコードが将来のリリースでも引き続き機能することを意味します。 プロジェクトで使用するDjangoのバージョンをアップグレードするときに、小さな変更を加える必要がある場合があります。アップグレードするバージョンについては、リリースノートの「後方互換性のない変更」セクションを参照してください。

APIの安定性を非常に優先すると同時に、Djangoは、提供するAPIで(最終的には)「それを行う1つの方法」を目指すとともに、継続的な改善にも取り組んでいます。 これは、明らかに優れた方法を発見した場合、古い方法を廃止し、最終的には削除することを意味します。 私たちの目的は、それを使用するすべてのプロジェクトでベストプラクティスを奨励する、最高品質の最新の信頼できるWebフレームワークを提供することです。 漸進的な改善を使用することにより、停滞と大規模な破壊的なアップグレードの両方を回避しようとします。

「安定」とは

この文脈では、安定とは次のことを意味します。

  • すべてのパブリックAPI(このドキュメントのすべて)は、下位互換性のあるエイリアスを提供せずに移動または名前変更されることはありません。

  • これらのAPIに新しい機能が追加された場合(これは非常に可能です)、既存のメソッドの意味を壊したり変更したりすることはありません。 言い換えれば、「安定」は(必然的に)「完全」を意味するものではありません。

  • 何らかの理由で、安定していると宣言されたAPIを削除または置換する必要がある場合、非推奨と宣言されますが、少なくとも2つの機能リリースの間APIに残ります。 非推奨のメソッドが呼び出されると、警告が発行されます。

    Djangoのバージョン番号付けスキームがどのように機能するか、および機能が非推奨になる方法の詳細については、公式リリースを参照してください。

  • バグやセキュリティホールによって完全に避けられない場合にのみ、非推奨プロセスなしでこれらのAPIの下位互換性を破ります。


安定したAPI

一般に、内部領域のすべてを除いて、ドキュメントでカバーされているすべてのものは安定していると見なされます。


例外

この安定性と下位互換性の約束には、いくつかの例外があります。

セキュリティ修正

セキュリティレポートポリシーに従っている人がセキュリティの問題に気付いた場合は、それを修正するために必要なすべてのことを行います。 これは、下位互換性を壊すことを意味する場合があります。 セキュリティは互換性の保証よりも優先されます。


内部としてマークされたAPI

特定のAPIは、いくつかの方法で「内部」として明示的にマークされています。

  • 一部のドキュメントでは、内部について言及し、そのように言及しています。 ドキュメントに何かが内部にあると記載されている場合、当社はそれを変更する権利を留保します。
  • 関数、メソッド、および先頭にアンダースコア(_)が付いたその他のオブジェクト。 これは、何かがプライベートであることを示す標準的なPythonの方法です。 メソッドが単一の_で始まる場合、それは内部APIです。