Как одновременно выводить на страницу/поиск/фильтр объекты. Параметры запроса [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)
Вернуться на верх