モデル マネージャーにオブジェクトを取得するように要求すると、DoesNotExist
一致するオブジェクトがない場合にエラーが発生します。
go = Content.objects.get(name="baby")
の代わりにbe をDoesNotExist
使うにはどうしたらいいでしょうか?go
None
ベストアンサー1
これを実行するための「組み込み」の方法はありません。Django はDoesNotExist
毎回例外を発生させます。Python でこれを処理する慣用的な方法は、try catch でラップすることです。
try:
go = SomeModel.objects.get(foo='bar')
except SomeModel.DoesNotExist:
go = None
私が実際に行ったのは、 をサブクラス化しmodels.Manager
、safe_get
上記のコードのような を作成し、そのマネージャーをモデルに使用することでした。 そうすれば、次のように記述できますSomeModel.objects.safe_get(foo='bar')
。