Мне просто нужно было выяснить это для моего собственного приложения, поэтому отправьте ответ здесь.
Время прошло с тех пор, как об этом спросили и ответили. Теперь есть более простой способ.
См. http://code.google.com/appengine/docs/python/datastore/metadataqueries.html
q = Kind.all() for kind in q.fetch(100): print kind.kind_name
def GetSchemaKinds(): """Returns the list of kinds for this app.""" class KindStatError(Exception): """Unable to find kind stats.""" from google.appengine.ext.db import stats global_stat = stats.GlobalStat.all().get() if not global_stat: raise KindStatError() timestamp = global_stat.timestamp kind_stat = stats.KindStat.all().filter( "timestamp =", timestamp).fetch(1000) kind_list = [stat.kind_name for stat in kind_stat if stat.kind_name and not stat.kind_name.startswith('__')] kind_set = set(kind_list) return list(kind_set)
Ссылка: http://groups.google.com/group/google-appengine/browse_thread/thread/f2e7568040c015ff
Стоит отметить, что этот ответ для старших db API. Новый ndb API имеет другой способ получить все Kind, перечисленные здесь https://cloud.google.com/appengine/docs/python/ndb/metadata#get_kinds
db
ndb
Kind