¿Cuál es la etiqueta que muestra la cantidad de elementos devueltos en una lista de objetos? Por ejemplo, en una vista llamada /search/q=my search text here
, se muestra una lista de artículos que coincide con la consulta de búsqueda del usuario. En la plantilla, quiero mostrar la cantidad de artículos devueltos por la búsqueda.¿Cuál es la etiqueta de plantilla django para obtener la cantidad de elementos devueltos en un conjunto de resultados?
Respuesta
Puede utilizar el filtro de plantilla length:
{{ articles|length }}
mostrará la longitud de la lista de artículos.
El método count()
obtiene la cantidad de elementos recuperados por el queryset al que se llama.
usarlo como que '{{}}' articles.count –
Una cosa a destacar, sin embargo. 'count' ejecutará un CUENTA SQL si el conjunto de consulta aún no ha sido evaluado. Luego, cuando se repita más tarde, se realizará otra consulta DB (SELECT). Eso es dos consultas. Si necesita el recuento antes de realizar un bucle en el conjunto de consulta o similar, '{{articles | length}}' es más eficiente. –
La mejor manera de hacer esto creo que es:
{{ articles.count }}
- 1. ¿Cómo limito la cantidad de resultados devueltos de grep?
- 2. url etiqueta de plantilla en la plantilla de Django
- 3. ¿Cómo contar la cantidad de grupos devueltos por un grupo?
- 4. ¿Existe un límite práctico para la cantidad de elementos en un conjunto ordenado en redis?
- 5. ¿Cómo obtener la cantidad de elementos en un cuadro combinado?
- 6. Limite la cantidad de resultados devueltos por una consulta de filtro en Solr
- 7. ¿Cuál es la forma más corta de contar la cantidad de elementos en un generador/iterador?
- 8. ¿Cómo limito la cantidad de registros devueltos para Interbase 7.1?
- 9. ¿Cuál es la cantidad máxima de elementos o tamaño de archivo para un documento HTML?
- 10. Elección dinámica de la plantilla de etiqueta de inclusión Django
- 11. Etiqueta de plantilla de Django para mostrar la versión de Django
- 12. etiqueta de plantilla de Django para truncar el texto
- 13. ¿Cuál es la mejor manera de almacenar un conjunto de Delphi en un conjunto de datos?
- 14. ¿Cómo obtener la cantidad de elementos en una estructura?
- 15. Configuración de Django para salida de etiqueta de plantilla predeterminada cuando la variable es Ninguna?
- 16. Django - plantilla simple ejemplo etiqueta
- 17. Formulario de Django - etiqueta de conjunto
- 18. ¿Es posible limitar la cantidad de resultados devueltos en una respuesta cuando se utiliza una QueryExpression en CRM 4
- 19. Django - mostrar la longitud de un conjunto de consultas en una plantilla
- 20. LinqDataSource - ¿Se puede limitar la cantidad de registros devueltos?
- 21. ¿Es posible obtener la URL completa (incluir dominio) dentro de la plantilla de Django
- 22. ¿Cuál es la mejor respuesta para la búsqueda de la máxima cantidad posible de una matriz
- 23. Postgres: ¿Busca la posición de una fila específica dentro de un conjunto de resultados?
- 24. Valor anotado de Django en la plantilla
- 25. Cuál es la mejor manera de verificar el conjunto de resultados IQueryable es nulo
- 26. ¿Cuál es la mejor forma de obtener el nombre de etiqueta de un elemento en JS?
- 27. Django: ¿usar etiqueta de plantilla y 'con'?
- 28. ¿Cuál es la forma más sencilla de obtener resultados de scripts de Python en la web?
- 29. ¿Se puede crear una etiqueta de plantilla personalizada que devuelva un conjunto de preguntas? Si es así, ¿cómo? - Django
- 30. Django error 'url' etiqueta de plantilla
'count' probablemente sea más eficiente ya que no necesita evaluar todo el conjunto de consultas, sino que usará otra solicitud SQL con' count (*) '. –
@Guillaume, en realidad 'length' simplemente llama a' len', y Django es lo suficientemente inteligente como para hacer 'count (*)' si aún no se evaluó el queryset. De hecho, si va a iterar de todos modos más adelante, 'len' puede ser * más * eficiente, ya que le impide hacer dos llamadas a bases de datos. –
Gracias, no tenía idea de que Django era tan inteligente sobre la 'longitud'. Y obviamente tiene razón sobre el hecho de que 'len' * puede * ser más eficiente. –