Opened 8 years ago
Closed 7 years ago
#28917 closed Cleanup/optimization (fixed)
Remove paginator's unordered queryset warning for a .none() queryset
| Reported by: | Jeremy Lainé | Owned by: | |
|---|---|---|---|
| Component: | Core (Other) | Version: | 2.0 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Ready for checkin | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Paginator shows a warning if it receives an unordered queryset.
However, if also emits this warning if passed a queryset which is guaranteed to be empty, for instance Article.objects.none().
Working around this warning involves doing a bizarre Article.objects.none().order_by('id')
I believe there can be legitimate usecases for passing a .none() queryset to a paginator, for instance if a user's permissions are such that we restrict the objects they can view to the empty queryset.
Change History (7)
comment:1 by , 8 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 8 years ago
| Component: | Generic views → Core (Other) |
|---|---|
| Description: | modified (diff) |
| Summary: | Paginator shows ordering warning on an empty .none() queryset → Remove paginator's unordered queryset warning for a .none() queryset |
| Triage Stage: | Unreviewed → Accepted |
| Type: | Bug → Cleanup/optimization |
comment:3 by , 8 years ago
comment:4 by , 8 years ago
| Has patch: | set |
|---|
comment:5 by , 8 years ago
| Patch needs improvement: | set |
|---|
Discussion on PR led to conclusion that this could be resolved by having QuerySet.ordered return True when the queryset is empty. (Something is ordered if it always returns the same sequence. An empty QuerySet does, i.e. [])
Marking as "Patch needs improvement" pending that change.
comment:6 by , 7 years ago
| Owner: | removed |
|---|---|
| Patch needs improvement: | unset |
| Status: | assigned → new |
| Triage Stage: | Accepted → Ready for checkin |
New PR from Josh Schneier.
Minor change to docstring suggested but otherwise, looks good.
PR https://github.com/django/django/pull/9479