У меня есть этот шаблон, который является поисковой системой. Мне нужно добавить все совпадающие элементы, но, как и я, он суммирует все элементы базы данных.
Мне нужно сложить цены всех элементов после применения фильтра. Другими словами, мне нужно сложить все элементы цикла: {{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 %}