У меня есть этот ListView, и я пытаюсь получить только 12 автомобилей из моей базы данных и упорядочить их по цене, у меня есть 20 записей в моей базе данных, и в кнопках нумерации страниц отображается 6 кнопок, то есть 6 страниц, так чтовозвращает все возможные данные из базы данных, в этот момент я потерян и не могу найти ошибку, любая помощь будет очень полезна как для разбивки на страницы, так и для упорядочивания.
class CardListView(ListView):
model = Car
template_name = 'home.html'
context_object_name = 'cars'
ordering = ['-price']
paginate_by = 5
limit = 12
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
paginator = context['paginator']
page_numbers_range = 10
max_index = len(paginator.page_range)
page = self.request.GET.get('page')
current_page = int(page) if page else 1
start_index = int((current_page - 1) / page_numbers_range) * page_numbers_range
end_index = start_index + page_numbers_range
if end_index >= max_index:
end_index = max_index
page_range = paginator.page_range[start_index:end_index]
cars = Car.objects.all()[:self.limit]
car_types = CarCategory.objects.all()
context['cars'] = cars
context['car_types'] = car_types
context['page_range'] = page_range
return context