Opened 16 years ago
Closed 16 years ago
#7840 closed (wontfix)
'get_list_or_404' does not know the slicing
Reported by: | Spike^ekipS | Owned by: | nobody |
---|---|---|---|
Component: | Core (Other) | Version: | dev |
Severity: | Keywords: | get_list_or_404 | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
To make a story short, see this code.
I have model, Document, it contains 30 objects.
get_list_or_404(Document)
It returns entire objects of Document, but in this case,
get_list_or_404(Document)[:10]
Not like a general usage of queryset filtering, get_list_or_404 does not handle the
slicing, it just return the all the objects of model.
To handle the slicing and return Http404 if there are not objects, wrote new
sub-class, 'WrapperQueryset'. See the patched code.
Attachments (1)
Change History (2)
by , 16 years ago
Attachment: | get_list_or_404_r7997.patch added |
---|
comment:1 by , 16 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
You've changed this function entirely; the name is now misleading. It no longer returns a list -- it returns some kind of queryset.
Since it's such a minor function and so easy to just do a normal queryset and check it for emptiness (or write your own helper function), it's not worth complicating things for the case where it slicing has to be done as part of the query, instead of back in Python. In the former case, just use the normal query interface.