Ho bisogno di fare una paginazione reale invece di impaginare su tutti i dati recuperati. L'esempio nel sito di documentazione di Django è simile;Paginazione 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})
Questo codice è impaginare record su tutti i record retreived. Ma c'è un problema. Cercare di recuperare tutto il record richiede molto tempo se ci sono così tanti record. Ho bisogno di una soluzione per recuperare i record pagina per pagina dal database.
C'è un'altra soluzione per farlo in Django?
Questa domanda è stato risposto in precedenza, vedi qui: http://stackoverflow.com/questions/10548744/django-lazy-queryset-and-pagination –