У меня есть несколько вопросов относительно того, как сделать пагинацию с помощью 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
Вопросы:
- Прежде всего, как продвигается результирующий набор при перемещении того же курсораиспользуется в разных итерациях цикла for?
- Как исправить крайний случай?Цикл for должен завершиться после 3 итераций.Пакет 4 пуст.
- Как выполнить пейджинг в обратном направлении в гае (т. Е. Перейти вместо следующего)?