def fetch_all(query, max_entries=1000):
''' fetch all entities '''
entries = []
count = 0
query = query.order('__key__')
while count % max_entries == 0:
items = query.fetch(max_entries)
for i, item in enumerate(items):
entry = {}
entry['gae_key'] = str(item.key())
for field in item.fields(): entry[field] = getattr(item, field)
entries.append(entry)
current_count = len(items)
count += current_count
if current_count == max_entries:
last_key = query.fetch(1, max_entries-1)[0].key()
query = query.filter('__key__ > ', last_key)
return entries
Friday, October 16, 2009
Google AppEngine: How to fetch more than 1000 entities?
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment