「Djangoパーフェクトマスター」モデルのgetメソッドを用いて1つのインスタンスを取得する【Udemyで学習】

www.youtube.com

このレクチャーでは「モデルのgetメソッドを用いて1つのインスタンスを取得する」を説明します。

前のレクチャーで説明した、フィルタによるQuerySetの取得では、たとえ、絞り込んだ結果が一行であったとしても、QuerySetが返却されます。その場合は、一つの要素だけが含まれたQuerySetです。

検索でマッチするのが、一つのインスタンスだけと、最初からわかっている場合には、マネージャーのgetメソッドを使用します。

スライドの、対話型シェル実行例をご覧ください。getメソッドに、pk=1という引数を与えています。実はこのpk=1は、前のレクチャーで説明した「フィールドルックアップ」を短くしたショートカットです。主キーが1という意味となります。このgetメソッドの実行によって、QuerySetではなく、単独のモデルインスタンスを、取得することができます。今回はpk=1を引数に指定しましたが、getメソッドの引数には、いろいろな検索条件の、フィールドルックアップを指定することができます。

指定した検索条件で、1件もマッチしなかった場合、getメソッドは「DoesNotExist例外」を発生します。また、getメソッドを使用したにも関わらず、2件以上のアイテムにマッチした場合は「MultipleObjectsReturned例外」を発生します。二つの例外とも、Entryモデルクラスの例外です。

以上で「モデルのgetメソッドを用いて1つのインスタンスを取得する」の説明を終わります。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_master/?referralCode=3B5D0AF66B09A7B8DD25
★★★ コース内でお逢いできることを楽しみにしています。 ★★★