Нумерация страниц с помощью Google App Engine - PullRequest
4 голосов
/ 22 мая 2011

У меня есть несколько вопросов относительно того, как сделать пагинацию с помощью gae.тестовый код:

    for i in range(0, 6):
        MyClass(myProperty=unicode(i)).put()
    q = MyClass.all()
    cursor = None
    print
    haveMore = True
    batchSize = 2
    i = 1
    while haveMore:
        print 'Batch', i
        i = i + 1
        result_set = q.with_cursor(start_cursor=cursor).fetch(batchSize)
        for obj in result_set:
            print obj.myProperty
        cursor = q.cursor()
        print cursor
        haveMore = True if len(result_set) == batchSize else False

вывод:

Batch 1
0
1
E9oBTgoMdGVzdGJlZC10ZXN0GgdNeUNsYXNzIUNVUlNPUiFqHWoMdGVzdGJlZC10ZXN0cg0LEgdNeUNsYXNzGAIMggENCxIHTXlDbGFzcxgCDOABABQ=
Batch 2
2
3
E9oBTgoMdGVzdGJlZC10ZXN0GgdNeUNsYXNzIUNVUlNPUiFqHWoMdGVzdGJlZC10ZXN0cg0LEgdNeUNsYXNzGAQMggENCxIHTXlDbGFzcxgEDOABABQ=
Batch 3
4
5
E9oBTgoMdGVzdGJlZC10ZXN0GgdNeUNsYXNzIUNVUlNPUiFqHWoMdGVzdGJlZC10ZXN0cg0LEgdNeUNsYXNzGAYMggENCxIHTXlDbGFzcxgGDOABABQ=
Batch 4

Вопросы:

  1. Прежде всего, как продвигается результирующий набор при перемещении того же курсораиспользуется в разных итерациях цикла for?
  2. Как исправить крайний случай?Цикл for должен завершиться после 3 итераций.Пакет 4 пуст.
  3. Как выполнить пейджинг в обратном направлении в гае (т. Е. Перейти вместо следующего)?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...