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 google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to