MCPcopy
hub / github.com/django/django / get_list_or_404

Function get_list_or_404

django/shortcuts.py:129–151  ·  view source on GitHub ↗

Use filter() to return a list of objects, or raise an Http404 exception if the list is empty. klass may be a Model, Manager, or QuerySet object. All other passed arguments and keyword arguments are used in the filter() query.

(klass, *args, **kwargs)

Source from the content-addressed store, hash-verified

127
128
129def get_list_or_404(klass, *args, **kwargs):
130 """
131 Use filter() to return a list of objects, or raise an Http404 exception if
132 the list is empty.
133
134 klass may be a Model, Manager, or QuerySet object. All other passed
135 arguments and keyword arguments are used in the filter() query.
136 """
137 queryset = _get_queryset(klass)
138 if not hasattr(queryset, "filter"):
139 klass__name = (
140 klass.__name__ if isinstance(klass, type) else klass.__class__.__name__
141 )
142 raise ValueError(
143 "First argument to get_list_or_404() must be a Model, Manager, or "
144 "QuerySet, not '%s'." % klass__name
145 )
146 obj_list = list(queryset.filter(*args, **kwargs))
147 if not obj_list:
148 raise Http404(
149 _("No %s matches the given query.") % queryset.model._meta.object_name
150 )
151 return obj_list
152
153
154async def aget_list_or_404(klass, *args, **kwargs):

Calls 3

Http404Class · 0.90
_get_querysetFunction · 0.85
filterMethod · 0.45