Как сохранить сортировку на всех страницах в Django?

Есть интернет-магазин, написанный с помощью Django. Есть товары по страницам и форма сортировки товара (по дате, цене и т.д). Заметил баг, как только я перехожу на любую другую страницу с первой страницы, вся сортировка пропадает и значение в форме меняется на изначальное. Как сохранить сортировку товара и значение формы на всех страницах ?

Вот полный код во views.py:

def product_list(request, category_slug=None):
    category = None
    categories = Category.objects.all()
    products = Product.objects.filter(available=True)

    sort_form = SortForm(request.POST)
    if sort_form.is_valid():
        need_sort = sort_form.cleaned_data.get("sort_form")
        if need_sort == 'ПУ':
            products = products.order_by('name')
        elif need_sort == 'ДТ':
            products = products.order_by('-created')
        elif need_sort == "ДЕД":
            products = products.order_by("price")
        elif need_sort == "ДОД":
            products = products.order_by("-price")
        
    pages = Paginator(products, 6)
    page_number = request.GET.get('page')
    page_object = pages.get_page(page_number)

    if category_slug:
        category = get_object_or_404(Category, slug=category_slug)
        products = products.filter(category=category)
    
        sort_form = SortForm(request.POST)
        if sort_form.is_valid():
            need_sort = sort_form.cleaned_data.get("sort_form")
            if need_sort == 'ПУ':
                products = products.order_by('name')
            elif need_sort == 'ДТ':
                products = products.order_by('-created')
            elif need_sort == "ДЕД":
                products = products.order_by("price")
            elif need_sort == "ДОД":
                products = products.order_by("-price")
    
        pages = Paginator(products, 6)
        page_number = request.GET.get('page')
        page_object = pages.get_page(page_number)
    
    context = {'category': category, 'categories': categories, 'products': products, 'page_object': 
    page_object, 'sort_form': sort_form}
    return render(request, 'shop/product_list.html', context)

Спасибо


Ответы (0 шт):