如何计算 Jinja2 模板 Django 中循环 "for in" 中的所有元素
How can I count all elements in loop "for in" in Jinja2 templates Django
我尝试使用循环:
user_list = <QuerySet [<TableUsers: Jane>, <TableUsers: Kate>, <TableUsers: Jons>, <TableUsers: Jacob>, <TableUsers: Jane>, <TableUsers: Jons>, <TableUsers: Jane>]>
{% for user in user_list %}
{% if user.name == "Jane" %}
{{all_count_username_jane}} # this is all count user with name Jane
{{user.name}}
{% elif user.name == "Jons" %}
{{all_count_username_jons}} # this is all count user with name Jons
{{user.name}}
{% endif %}
{% endfor %}
如何计算所有“Jane”和“Jons”?
如果您使用了类似 user_list = SomeModel.objects.all()
的内容,您可以将其替换为类似
的内容
from django.db.models import Count
user_list = SomeModel.objects.values('name').annotate(count_names=Count('id'))
然后也将您的模板代码更改为:
{% for user in user_list %}
{% if user.name == "Jane" %}
{{user.count_names}} # this is all count user with name Jane
{{user.name}}
{% elif user.name == "Jons" %}
{{user.count_names}} # this is all count user with name Jons
{{user.name}}
{% endif %}
{% endfor %}
我尝试使用循环:
user_list = <QuerySet [<TableUsers: Jane>, <TableUsers: Kate>, <TableUsers: Jons>, <TableUsers: Jacob>, <TableUsers: Jane>, <TableUsers: Jons>, <TableUsers: Jane>]>
{% for user in user_list %}
{% if user.name == "Jane" %}
{{all_count_username_jane}} # this is all count user with name Jane
{{user.name}}
{% elif user.name == "Jons" %}
{{all_count_username_jons}} # this is all count user with name Jons
{{user.name}}
{% endif %}
{% endfor %}
如何计算所有“Jane”和“Jons”?
如果您使用了类似 user_list = SomeModel.objects.all()
的内容,您可以将其替换为类似
from django.db.models import Count
user_list = SomeModel.objects.values('name').annotate(count_names=Count('id'))
然后也将您的模板代码更改为:
{% for user in user_list %}
{% if user.name == "Jane" %}
{{user.count_names}} # this is all count user with name Jane
{{user.name}}
{% elif user.name == "Jons" %}
{{user.count_names}} # this is all count user with name Jons
{{user.name}}
{% endif %}
{% endfor %}