Count total search objects count in template using django-haystack

8.1k Views Asked by At

I am using django haystack with xapian as the backend search engine. I am using FacetedSearchView and FacetedSearchForm for faceting over the search. I have passed searchqueryset to the FacetSearchView in my urls.py file.

But the problem is I cannot access that searchqueryset in template. All I want to do is count the number of objects in searchqueryset found.

In shell I could achieve it using SearchQuerySet().filter(content="foo").count(), how can I do that similarly in the template? Please guide. I want the total number of objects matching the search.

3

There are 3 best solutions below

0
On BEST ANSWER

Haystack uses the standard django pagination: https://docs.djangoproject.com/en/dev/topics/pagination/

Showing {{ page.object_list|length }} of {{ page.paginator.count }} Results on Page {{ page.number }} of {{ page.paginator.num_pages }}

1
On
{{ page.object_list | length }}
0
On

If you want to show the result range instead of page number, e.g. "Results 21-40 of 1001", You can do

Results {{ page.start_index }} - {{ page.end_index }} of {{ page.paginator.count }}