значения суммы Джанго для цикла в шаблоне - PullRequest
1 голос
/ 06 октября 2019

У меня есть этот шаблон, который является поисковой системой. Мне нужно добавить все совпадающие элементы, но, как и я, он суммирует все элементы базы данных.

Мне нужно сложить цены всех элементов после применения фильтра. Другими словами, мне нужно сложить все элементы цикла: {{images.price |mul: images.pictures}}

views.py

    def search(request):
        sales_list = Images.objects.all() 
        sales_filter = ImagesFilter(request.GET, queryset=sales_list)
        places_count = sales_filter.qs.annotate(total=Sum('pictures'))
        return render(request, 'paneladmin/sales_list.html', {'filter': sales_filter, 'places_count': places_count})

filter.py

    class ImagesFilter(django_filters.FilterSet):
        checkin = django_filters.NumberFilter(widget=DatePickerInput(format='%d'),field_name='checkin', lookup_expr='day'  )
        checkin1 = django_filters.NumberFilter(widget=DatePickerInput(format='%m'),field_name='checkin', lookup_expr='month'  )
        checkin2 = django_filters.NumberFilter(widget=DatePickerInput(format='%Y'),field_name='checkin', lookup_expr='year'  )
        # usando o name__photographers eu estou dizendo que quero busca o name da tabela photographes, desse modo terei um boxlistt em meu template
        name__photographers =  django_filters.CharFilter(lookup_expr='icontains', field_name='name')

        class Meta:
            model = Images
            fields = ['name', 'checkin']

sales_list.html

    {% load mathfilters %}
    {% for images in filter.qs %}
    {{images.price | mul:images.pictures}}
    {{places_count.total }}
    {% endfor %} 

1 Ответ

0 голосов
/ 06 октября 2019

с помощью друзей здесь на stackoverflow я получил решить. Сейчас работает отлично. Спасибо всем

views.py

    def search(request):
        sales_list = Images.objects.all() 
        sales_filter = ImagesFilter(request.GET, queryset=sales_list)
        places_count = sales_filter.qs.aggregate(total_amount=Sum('pictures'))
        return render(request, 'paneladmin/sales_list.html', {
        'filter': sales_filter, 'places_count': places_count
        })

sales_list.html

   {% load mathfilters %}
   {% for images in filter.qs %}
   {{places_count.total_amount | mul:images.price }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...