diff --git a/store/views.py b/store/views.py index 48734d0..d6b64f9 100644 --- a/store/views.py +++ b/store/views.py @@ -101,13 +101,15 @@ class CategoryView(CategoryBaseView, TemplateView): if self.is_search: q = self.request.GET.get('q', '') self.products_qs = Product.objects.filter(title__icontains=q).order_by('-pk') - retval['brands'] = list(set(map(lambda item: item.brand, self.products_qs))) + brands_pks = [item.brand.pk for item in self.products_qs] + retval['brands'] = Brand.objects.filter(pk__in=brands_pks).order_by('title')#list(set(map(lambda item: item.brand, self.products_qs))) elif self.is_sale: self.products_qs = Product.objects.filter(variations__discount__gt=0).distinct().order_by('-pk') - retval['brands'] = list(set(map(lambda item: item.brand, self.products_qs))) + brands_pks = [item.brand.pk for item in self.products_qs] + retval['brands'] = Brand.objects.filter(pk__in=brands_pks).order_by('title') elif self.is_leaders: - self.products_qs = Product.objects.filter(is_leader=True).order_by('-pk') - retval['brands'] = list(set(map(lambda item: item.brand, self.products_qs))) + brands_pks = [item.brand.pk for item in self.products_qs] + retval['brands'] = Brand.objects.filter(pk__in=brands_pks).order_by('title') else: self.category = self._get_full_category(kwargs['categories']) if not self.category.hide_products: