Как одновременно выводить на страницу/поиск/фильтр объекты. Параметры запроса [Django]
В моем html-шаблоне есть 3 различные формы: для фильтрации, поиска и постраничного просмотра результатов. Я хочу, чтобы была возможность делать это одновременно:
shop/?filter_by=diary_products&paginate_by=6
shop/search/?q=milk&filter_by=diary_products&paginate_by=6
Проблема в том, что когда форма отправлена. Параметры запроса не добавляются, поэтому я не могу достичь вышеупомянутого результата.
Форма поиска
<form action="{% url 'search_products' %}" method="GET">
{% csrf_token %}
<button type="submit">Search</button>
<input type="text" name="q" placeholder="Search">
</form>
Форма выбора элементов на странице (пагинация)
<form action="{% what should i put here? %}" method="GET">
<select name="paginate_by" onchange="this.form.submit()">
<option selected>1</option>
<option>2</option>
<option>3</option>
</select>
<noscript><input type="submit" value="Submit"></noscript>
</form>
Форма фильтра
<form action="{% what should i put here? %}" method="GET">
<select name="filter_by" onchange="this.form.submit()">
<option selected>diary_products</option>
<option>by_price</option>
<option>newest_first</option>
</select>
<noscript><input type="submit" value="Submit"></noscript>
</form>
urls.py
from django.conf import settings
from django.conf.urls.static import static
from django.urls import path
from . import views
urlpatterns = [
path('', views.shop, name='shop'),
path('search/', views.search_products, name='search_products'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)