Query.fetch (limit = 2000) перемещает курсор вперед только на 1000 объектов? - PullRequest
0 голосов
/ 19 мая 2010

Допустим, в моем хранилище данных 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 Ответ

2 голосов
/ 19 мая 2010

Это явный предел App Engine, не более 1000 в смещении выборки . Из этого следует, что Qql не может получить более 1000, которые, как мне показалось, я видел документально, но не могу найти.

Как ни странно, Query.count () также имеет максимальное значение 1000. Они не выходят и не говорят этого, но запросы, возвращающие более 1000 сущностей, кажутся противоположными модели GQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...