Я пытаюсь добавить фильтры к своему поиску с помощью Django_Filters. Но когда я пытаюсь отфильтровать уже существующий поиск, ?q=mysearch
удаляется, и после этого применяются фильтры. Это код:
def get_queryset(self):
#this is the search part
qs = self.model.objects.all().order_by('id')
search = self.request.GET.get('q')
if search:
qs = qs.filter(Título__icontains=search)
return qs
def get_context_data(self, **kwargs):
#here's when I try to filter
context = super().get_context_data(**kwargs)
MyFilter = PubFilters(self.request.GET, queryset=self.get_queryset())
queryset = MyFilter.qs
search = self.request.GET.get('q')
paginator, page, object_list, is_paginated = self.paginate_queryset(
queryset,
self.get_paginate_by(queryset)
)
queries = self.request.GET.copy()
queries.pop('page', None)
context.update(
filter=MyFilter,
filtered_items=object_list,
page=page,
is_paginated=is_paginated,
count=paginator.count,
queries=queries,
búsqueda=self.request.GET.get('q')
)
return context
Есть идеи, как это решить? Если вам нужен какой-то другой кусок кода, пожалуйста, спросите. Заранее спасибо!