title: Django Pagination
body: <p>I need to make real pagination instead of paginating on all retreived data. The example in Django documentation site, is like;</p>
  
  <pre><code>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})
  </code></pre>
  
  <p>This code is paginating records on all retreived records. But there is a trouble. Trying to retreive all record takes many time if there are so many records. I need a solution to retrieve the records page by page from database. </p>
  
  <p>Is there another solution to do this in Django?</p>