获取GAE Python中所有NDB模型名称(类名)的列表

2024-05-13 01:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

如何获取gaepython中所有NDB模型名的列表?在

所有NDB模型都是从ndb.Model继承的Python类。我想我们可以利用这个信息来获取所有模特的名字。在

class BK (ndb.Model): 
    property_1 = ..

我尝试了以下(borrowed)代码,但没有成功:

尝试1

^{pr2}$

这会导致错误:

KeyError: 'ndb.Model'

尝试2

logging.info ( [ cls.__name__ for cls in globals()['Model'].__subclasses__() ] )

这会导致错误:

KeyError: 'Model'


Tags: 模型信息利用列表model错误property名字
2条回答

幸运的是,在这种情况下要容易得多:

from google.appengine.ext import ndb


class Test(ndb.Model):
    pass

print ndb.Model._kind_map

生成以下输出:

^{pr2}$

除了Jaime的答案之外,还有一个metadata API,它可以告诉您在数据存储中注册的实体类型。

相关问题 更多 >