コンテンツへスキップ
Python例外エラー
Model.DoesNotExist

Model.DoesNotExist

Django ORMの.get()クエリが一致するレコードを見つけられませんでした。

python

このエラーの原因

Model.objects.get()をフィルターとともに呼び出しましたが、データベース行と一致しませんでした。レコードが存在しないか、フィルター条件が誤っているか、またはデータが削除された可能性があります。

修正方法

.filter().first() を使うと、例外ではなく None が返ります。.get() を try-except で囲みます: try: obj = Model.objects.get(pk=id) except Model.DoesNotExist: handle_missing()。ビューでは get_object_or_404() を使用します。

例

User.objects.get(id=999)  # User.DoesNotExist
公式ドキュメント

関連するエラーコード