我正在尝试为谷歌应用引擎写一个我自己的宁静服务。我正在动态获取表单数据并保存模型。要获取属性列表,我正在做
Contact.__properties
{'name': StringProperty('name', required=True), 'email': StringProperty('email', required=True)}
我可以这样做来找到属性的类型
(Pdb) type(Contact._properties['name']) is ndb.StringProperty
True
但我怎样才能找到是否需要=真或假
Contact._properties的输出类型是什么,我该如何解密它。
答案 0 :(得分:3)
虽然poorly documented, 是NDB模型的内省API;只需使用带有下划线前缀的配置选项的名称:
Contact._properties['name']._required
是required
选项的值。
下划线并不表示此处的“隐私”,但用于避免与模型本身的名称发生冲突(例如name
是StructuredProperty
引用另一个具有required
属性的模型否则您将无法访问required
选项)。