|
|
|
|
@ -136,6 +136,8 @@ class CategoryView(CategoryBaseView, TemplateView): |
|
|
|
|
sort_parameter = dict(self.ORDER_PARAMETERS)[self.sort] |
|
|
|
|
preordered_qs = self.products_qs |
|
|
|
|
|
|
|
|
|
print(preordered_qs) |
|
|
|
|
|
|
|
|
|
if sort_parameter in ['price_min', '-price_min']: |
|
|
|
|
preordered_qs = self.products_qs.extra( |
|
|
|
|
select={ |
|
|
|
|
@ -144,11 +146,13 @@ class CategoryView(CategoryBaseView, TemplateView): |
|
|
|
|
'WHERE store_productvariation.product_id ' + |
|
|
|
|
'= store_product.id' |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
self.products_qs = preordered_qs.order_by('-have_stock', sort_parameter) |
|
|
|
|
if preordered_qs: |
|
|
|
|
self.products_qs = preordered_qs.order_by('-have_stock', sort_parameter) |
|
|
|
|
else: |
|
|
|
|
self.products_qs = preordered_qs.order_by(sort_parameter) |
|
|
|
|
|
|
|
|
|
self._get_filter_attributes() |
|
|
|
|
# print(self.products_qs.query) |
|
|
|
|
print(self.products_qs) |
|
|
|
|
self.paginate() |
|
|
|
|
retval['category'] = self.category |
|
|
|
|
retval['products'] = self.products_qs |
|
|
|
|
|