Necesito hacer una paginación real en lugar de paginar en todos los datos recuperados. El ejemplo en el sitio de documentación de Django es como;Django Pagination
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})
Este código está paginating registros en todos los registros recuperados. Pero hay un problema. Tratar de recuperar todo el registro lleva mucho tiempo si hay tantos registros. Necesito una solución para recuperar los registros página por página desde la base de datos.
¿Hay alguna otra solución para hacer esto en Django?
Esta pregunta ha sido contestada antes, ver aquí: http://stackoverflow.com/questions/10548744/django-lazy-queryset-and-pagination –