Opened 19 years ago
Closed 19 years ago
#2352 closed enhancement (duplicate)
Allow Paginator to Support Non QuerySets
| Reported by: | Owned by: | Adrian Holovaty | |
|---|---|---|---|
| Component: | Core (Other) | Version: | dev |
| Severity: | normal | Keywords: | paginator queryset fetchall |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
I write quite a few Custom SQL queries. In addition, I like the built in paginator package that django provides. The problem is that paginator.py asks for a QuerySet, when all it uses a QuerySet for is to query_set.count(). Anyways, my point is... paginator.py should allow for queries returned by cursor.fetchall() (and similar). It's already so generic that this tiny patch provides this enhancement:
/django/core/paginator.py
def _get_hits(self):
if self._hits is None:
try:
self._hits = self.query_set.count()
except:
self._hits = len(self.query_set)
return self._hits
All I added was the try-except block to default to len(self.query_set) if .count() fails
My patch in #2093 fixes this and more! :)
It is still waiting to be applied (or at least critiqued).