GAE本地开发服务器已支持游标操作
2009 10 15 04:51 PM 1906次查看
分类:Google App Engine 标签:Google App Engine, Python
接着Rodrigo Moraes给出了使用的例子,但说只能用于本地开发服务器,GAE上仍不支持。
不过游标已在GAE路线图里提出很久了,用以解决超过1000条记录的查询问题,我想下一个版本应该就会支持了吧。
顺便给一个简单的例子:
from google.appengine.ext import db
class TestModel(db.Model):
number = db.IntegerProperty()
PER_FETCH = 10
# 如果没有数据的话,就取消下面的注释来生成数据
#TOTAL_SIZE = 100
#entities = [0] * TOTAL_SIZE
#
#for i in xrange(TOTAL_SIZE):
# entities[i] = TestModel(number=i)
#
#db.put(entities)
query = TestModel.all().filter('number < ', 50)
results = query.fetch(PER_FETCH)
while results:
for result in results:
print result.number,
cursor = query.cursor()
if not cursor: # 如果没有更多记录存在,那么游标会为None
break
query = query.with_cursor(cursor)
results = query.fetch(PER_FETCH)
这个例子会遍历找出所有小于50的TestModel实体,本地测试成功,远程未尝试。
向下滚动可载入更多评论,或者点这里禁止自动加载。