I try to get the total row number of a table which has more than
1,000,000 data. I got error message "query is too large. may not have
more than 100 filters + sort orders + ancestor total". Anyone can help
on that?
My code looks like this:
def get_count(query):
BATCH_SIZE = 1000 # Maximum number of results returned by a query
query = query.order('__key__')
results = query.fetch(BATCH_SIZE)
count = len(results)
while True:
if not results:
return count
last_key = results[-1]
results = query.filter('__key__ > ', last_key).fetch
(BATCH_SIZE)
count = count + len(results)
count = get_count(MyModel.all(keys_only=True))
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---