【发布时间】:2011-05-22 00:17:53
【问题描述】:
我有几个关于如何使用 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 批为空。
- 如何在 gae 中反向分页(即返回而不是下一个)?
【问题讨论】: