Query.fetch(limit = 2000)仅将光标向前移动1000个实体?

时间:2010-05-19 02:26:57

标签: google-app-engine

假设我的数据存储区中有2500个MyModel实体,我运行此代码:

query = MyModel.all()
first_batch = query.fetch(2000)
len(first_batch) # 2000

next_query = MyModel.all().with_cursor(query.cursor())
next_batch = next_query.fetch(2000)

您认为len(next_batch)是什么? 500,对吗?不 - 它是1500.显然查询游标永远不会向前移动超过1000,即使查询本身返回的实体超过1000个。

我应该做些不同的事情还是只是App Engine的错误?

1 个答案:

答案 0 :(得分:2)

这是App Engine明确限制,fetch offset不超过1000。哪种情况意味着Qql无法检索超过1000个,我以为我看到有文档记载但无法找到。

奇怪的是,Query.count()的最大值也是1000。他们没有说出来,但是返回超过1000个实体的查询似乎与GQL模型相对立。