Что не так с моей строкой поиска? Я не получаю правильные данные

Я хочу реализовать поиск в моем проекте django. В моем следующем наборе запросов, при условии else он передает правильные данные. Но с условием if, что бы я ни искал, он ничего не выдает.

def get_queryset(self):
 category = self.request.GET['category']
 query = self.request.GET['q']
 if category == 'all':
            products = Products.objects.filter(Q(name__icontains=query) | Q(category__name__icontains=query)).all() 
 else:           
             products = Products.objects.filter(Q(category__slug=category),  Q(category__slug__icontains=self.request.GET['q']) |  Q(name__icontains=self.request.GET['q']))
Вернуться на верх