MCPcopy
hub / github.com/django/django / get_object_or_404

Function get_object_or_404

django/shortcuts.py:79–107  ·  view source on GitHub ↗

Use get() to return an object, or raise an Http404 exception if the object does not exist. klass may be a Model, Manager, or QuerySet object. All other passed arguments and keyword arguments are used in the get() query. Like with QuerySet.get(), MultipleObjectsReturned is rais

(klass, *args, **kwargs)

Source from the content-addressed store, hash-verified

77
78
79def get_object_or_404(klass, *args, **kwargs):
80 """
81 Use get() to return an object, or raise an Http404 exception if the object
82 does not exist.
83
84 klass may be a Model, Manager, or QuerySet object. All other passed
85 arguments and keyword arguments are used in the get() query.
86
87 Like with QuerySet.get(), MultipleObjectsReturned is raised if more than
88 one object is found.
89 """
90 queryset = _get_queryset(klass)
91 if not hasattr(queryset, "get"):
92 klass__name = (
93 klass.__name__ if isinstance(klass, type) else klass.__class__.__name__
94 )
95 raise ValueError(
96 "First argument to get_object_or_404() must be a Model, Manager, "
97 "or QuerySet, not '%s'." % klass__name
98 )
99 try:
100 return queryset.get(*args, **kwargs)
101 except queryset.model.DoesNotExist:
102 raise Http404(
103 # Translators: %s is the name of a model, e.g. "No City matches the
104 # given query."
105 _("No %s matches the given query.")
106 % queryset.model._meta.object_name
107 )
108
109
110async def aget_object_or_404(klass, *args, **kwargs):

Callers

nothing calls this directly

Calls 3

Http404Class · 0.90
_get_querysetFunction · 0.85
getMethod · 0.45