Что не так с моей строкой поиска? Я не получаю правильные данные
Я хочу реализовать поиск в моем проекте 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']))