Potrzebuję zrobić prawdziwą paginację zamiast stronicowania na wszystkich odzyskanych danych. Przykład w witrynie dokumentacji Django jest podobny;Pagina Django
def listing(request):
contact_list = Contacts.objects.all()
paginator = Paginator(contact_list, 25) # Show 25 contacts per page
page = request.GET.get('page')
try:
contacts = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
contacts = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
contacts = paginator.page(paginator.num_pages)
return render_to_response('list.html', {"contacts": contacts})
Ten kod jest Stronicowanie zapisy dotyczące wszystkich retreived rekordów. Ale jest problem. Próba odzyskania całego rekordu zajmuje wiele czasu, jeśli jest tak wiele rekordów. Potrzebuję rozwiązania, aby pobrać stronę rekordów po stronie z bazy danych.
Czy jest inne rozwiązanie, aby to zrobić w Django?
To pytanie zostało odebrane przed, zobacz tutaj: http://stackoverflow.com/questions/10548744/django-lazy-queryset-and-pagination –