Использование порядка по в результате пагинации Django
Я хочу сделать заказ только по результатам пагинации, например, на первой странице я получаю два продукта (значение этого mehsul - продукт) и когда я делаю заказ, я хочу заказать эти два продукта. Кто может помочь мне.
def animal(request,slug):
mehsul=Product.objects.filter(animal_type=slug)
animal_count=2
paginator=Paginator(mehsul,animal_count)
page_number=request.GET.get('page')
page_obj = paginator.get_page(page_number)
ordering = request.GET.get('ordering')
if ordering:
mehsul = Product.objects.filter(animal_type=slug)
paginator=Paginator(mehsul,animal_count)
page_number=request.GET.get('page')
page_obj=paginator.get_page(page_number)
return render(request,'animal.html',context={'mehsullar':page_obj})
Вы просто хотите упорядочить созданный вами набор запросов? Если да, то вы можете использовать функцию Django ORM order_by()
- см. документацию Django:
https://docs.djangoproject.com/en/4.0/ref/models/querysets/#order-by
Ваш код, который следует за if ordering:
, дублирует код, который предшествует ему, я бы предложил проверить упорядочивание в начале вашего представления и затем поместить его в функцию order_by()
, если она существует