fix problem with displaying products

remotes/origin/ESHOP_refactor_products_app
FUNNYDMAN 7 years ago
parent c56134f01e
commit 1a9e008ed0
  1. 29
      products/views.py
  2. 1
      templates/common.html

@ -42,18 +42,20 @@ class ProductListView(ListView):
def filter_products(self, qs):
if self.kwargs.get('path'):
category_intance = parse_path(self.kwargs.get('path'))
cat_qs = ProductCategory.objects.filter(slug__exact=category_intance).first()
qs = qs.filter(parent__in=cat_qs.get_descendants(include_self=True))
if self.request.GET.get('name'):
qs = qs.filter(name__icontains=self.request.GET.get('name'))
if self.request.GET.get('manufacturer'):
qs = qs.filter(manufacturer__slug=self.request.GET.get('manufacturer'))
if self.request.GET.get('supply_type'):
qs = qs.filter(offer__supply_type__slug=self.request.GET.get('supply_type'))
if self.request.GET.get('supply_target'):
qs = qs.filter(offer__supply_target__slug=self.request.GET.get('supply_target'))
qs = qs.filter(offer__amount__gte=0)
category_slug = parse_path(self.kwargs.get('path'))
cat_qs = ProductCategory.objects.filter(slug=category_slug)
qs = qs.filter(parent_id__in=cat_qs.get_descendants(include_self=True))
print(qs)
# TODO understand why there are some filtering queries
# if self.request.GET.get('name'):
# qs = qs.filter(name__icontains=self.request.GET.get('name'))
# if self.request.GET.get('manufacturer'):
# qs = qs.filter(manufacturer__slug=self.request.GET.get('manufacturer'))
# if self.request.GET.get('supply_type'):
# qs = qs.filter(offer__supply_type__slug=self.request.GET.get('supply_type'))
# if self.request.GET.get('supply_target'):
# qs = qs.filter(offer__supply_target__slug=self.request.GET.get('supply_target'))
# qs = qs.filter(offer__amount__gte=0)
return qs
def sort_products(self, qs):
@ -66,7 +68,8 @@ class ProductListView(ListView):
def get_queryset(self):
qs = super().get_queryset()
qs = self.filter_products(qs)
qs = self.sort_products(qs)
# qs = self.sort_products(qs)
return qs
def get_cart_add_formset(self, products):

@ -5,6 +5,7 @@
{% block content %}
<div class="col-4 left-menu">
{# just form search #}
{% if left_product_search_form %}
<div class="left-menu__search">
{% crispy left_product_search_form %}

Loading…
Cancel
Save