Как увеличить счетчик в шаблонах django

Я пытаюсь получить общее количество нарушений для каждого нарушителя. Счетчик не увеличивается. ( {{ a|add: "1" }}) Он выводит 1 1 1 вместо общего числа 3. Пожалуйста, помогите.

{% for infringer in page_obj %}   
<tr>   
 <td>{{infringer.id}}</td>  
 <td>{{infringer.created|date:"d M, Y"}}</td>  
 <td>{{infringer.name}}</td>   
 <td>{{infringer.brand_name}}</td>  
 <td>{{infringer.status}}</td>   
 <td>   
{% with a=0 %}

  {% for i in inc %}   
     {% if infringer.id == i.infringer.id %}
        {{ a|add:"1" }}


      {% endif %}
  {% endfor %}    
{% endwith %}

views.py

@login_required(login_url='login') 
def infringerlist(request):
   q = request.GET.get('q') if request.GET.get('q') != None else '' 
   ings= Infringer.objects.filter(Q(created__icontains=q) | Q(id__icontains=q) | 
   Q(status__name__icontains=q) |
   Q(brand_name__icontains=q) | Q(name__icontains=q),
customer=request.user.customer,)
paginator = Paginator(ings, 10)
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
inc = Infringement.objects.filter(customer=request.user.customer)
   context= {'page_obj': page_obj, 'inc': inc}
   return render(request,'base/infringers_list.html', context)

Шаблоны не должны иметь бизнес-логику. Они также не должны изменять состояние. Они должны просто передавать данные.

Вы можете подсчитать количество нарушений, а затем передать его в контекст:

@login_required(login_url='login')
def infringerlist(request):
    q = request.GET.get('q') if request.GET.get('q') != None else ''
    ings = Infringer.objects.filter(
        Q(created__icontains=q)
        | Q(id__icontains=q)
        | Q(status__name__icontains=q)
        | Q(brand_name__icontains=q)
        | Q(name__icontains=q),
        customer__user=request.user,
    )
    paginator = Paginator(ings, 10)
    page_number = request.GET.get('page')
    page_obj = paginator.get_page(page_number)
    infrigments = Infringement.objects.filter(customer__user=request.user).count()
    return render(
        request,
        'base/infringers_list.html',
        context={'page_obj': page_obj, 'infrigments': infrigments},
    )

и визуализировать его с помощью {{ infrigments }}.

Вернуться на верх