1010from django .db .models import Q
1111from DjangoEcommerce .settings import BASE_URL
1212from django .views .decorators .csrf import csrf_exempt
13+ from .filters import ProductFilter
1314
1415@login_required (login_url = "/admin/" )
1516def admin_home (request ):
@@ -194,7 +195,6 @@ def get(self,request,*args,**kwargs):
194195 categories_list .append ({"category" :category ,"sub_category" :sub_category })
195196
196197 merchant_users = MerchantUser .objects .filter (auth_user_id__is_active = True )
197-
198198 return render (request ,"admin_templates/product_create.html" ,{"categories" :categories_list ,"merchant_users" :merchant_users })
199199
200200 def post (self ,request ,* args ,** kwargs ):
@@ -264,9 +264,12 @@ class ProductListView(ListView):
264264 paginate_by = 3
265265
266266 def get_queryset (self ):
267+ self .filterset = ProductFilter (self .request .GET , queryset = super ().get_queryset ())
267268 filter_val = self .request .GET .get ("filter" ,"" )
268269 order_by = self .request .GET .get ("orderby" ,"id" )
269- if filter_val != "" :
270+ if self .request .GET .get ("subcategories_id" ):
271+ products = self .filterset .qs .order_by (order_by )
272+ elif filter_val != "" :
270273 products = Products .objects .filter (Q (product_name__contains = filter_val ) | Q (product_description__contains = filter_val )).order_by (order_by )
271274 else :
272275 products = Products .objects .all ().order_by (order_by )
@@ -278,14 +281,15 @@ def get_queryset(self):
278281
279282 return product_list
280283
284+
281285 def get_context_data (self ,** kwargs ):
282286 context = super (ProductListView ,self ).get_context_data (** kwargs )
283287 context ["filter" ]= self .request .GET .get ("filter" ,"" )
284288 context ["orderby" ]= self .request .GET .get ("orderby" ,"id" )
285289 context ["all_table_fields" ]= Products ._meta .get_fields ()
290+ context ["all_subCategories" ]= SubCategories .objects .all ()
286291 return context
287292
288-
289293class ProductEdit (View ):
290294
291295 def get (self ,request ,* args ,** kwargs ):
0 commit comments