Как сохранить сортировку на всех страницах в 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)
Спасибо