2011-11-24 14 views
8

Estoy utilizando django haystack con xapian como motor de búsqueda de back-end. Estoy usando FacetedSearchView y FacetedSearchForm para facetar la búsqueda. He pasado searchqueryset al FacetSearchView en mi archivo urls.py.Contar el recuento total de objetos de búsqueda en plantilla usando django-haystack

Pero el problema es que no puedo acceder a esa searchqueryset en la plantilla. Todo lo que quiero hacer es contar la cantidad de objetos en searchqueryset encontrados.

Concha pude lograrlo con S earchQuerySet().filter(content="foo").count(), ¿cómo puedo hacer eso de manera similar en la plantilla? Por favor guía. Quiero el número total de objetos que coinciden con la búsqueda.

Respuesta

30

Haystack utiliza la paginación Django estándar: https://docs.djangoproject.com/en/dev/topics/pagination/

Mostrando {{ page.object_list|length }}{{ page.paginator.count }} de los resultados en {{ page.number }} de {{ page.paginator.num_pages }}

+0

Gracias, funciona como se esperaba – tejinderss

+1

Si funcionó, ¿podría marcarlo como la solución? –

0
{{ page.object_list | length }} 
+0

esto sólo le indica cuántos objetos hay en esta página de resultados. No te dice cuántos resultados se devolvieron en total (por ejemplo: Mostrando 20 de 53 - Mostrando {{page.object_list | length}} de {{CÓMO OBTENDRÁS ESTE NÚMERO AQUÍ}}) –

5

Si desea mostrar el alcance de resultado en lugar de número de página, por ejemplo, "Resultados 21-40 de 1001", Usted puede hacer

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