diff -r e440e94a874b -r cf4b80992451 thirdparty/google_appengine/lib/django/tests/modeltests/pagination/models.py --- a/thirdparty/google_appengine/lib/django/tests/modeltests/pagination/models.py Mon Sep 07 20:26:39 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -""" -30. Object pagination - -Django provides a framework for paginating a list of objects in a few lines -of code. This is often useful for dividing search results or long lists of -objects into easily readable pages. -""" - -from django.db import models - -class Article(models.Model): - headline = models.CharField(maxlength=100, default='Default headline') - pub_date = models.DateTimeField() - - def __str__(self): - return self.headline - -__test__ = {'API_TESTS':""" -# prepare a list of objects for pagination ->>> from datetime import datetime ->>> for x in range(1, 10): -... a = Article(headline='Article %s' % x, pub_date=datetime(2005, 7, 29)) -... a.save() - -# create a basic paginator, 5 articles per page ->>> from django.core.paginator import ObjectPaginator, InvalidPage ->>> paginator = ObjectPaginator(Article.objects.all(), 5) - -# the paginator knows how many hits and pages it contains ->>> paginator.hits -9 - ->>> paginator.pages -2 - -# get the first page (zero-based) ->>> paginator.get_page(0) -[, , , , ] - -# get the second page ->>> paginator.get_page(1) -[, , , ] - -# does the first page have a next or previous page? ->>> paginator.has_next_page(0) -True - ->>> paginator.has_previous_page(0) -False - -# check the second page ->>> paginator.has_next_page(1) -False - ->>> paginator.has_previous_page(1) -True - ->>> paginator.first_on_page(0) -1 ->>> paginator.first_on_page(1) -6 ->>> paginator.last_on_page(0) -5 ->>> paginator.last_on_page(1) -9 - -# Add a few more records to test out the orphans feature. ->>> for x in range(10, 13): -... Article(headline="Article %s" % x, pub_date=datetime(2006, 10, 6)).save() - -# With orphans set to 3 and 10 items per page, we should get all 12 items on a single page: ->>> paginator = ObjectPaginator(Article.objects.all(), 10, orphans=3) ->>> paginator.pages -1 - -# With orphans only set to 1, we should get two pages: ->>> paginator = ObjectPaginator(Article.objects.all(), 10, orphans=1) ->>> paginator.pages -2 -"""}