注意:强烈建议构建新应用的开发者使用 NDB 客户端库,它与 DB 客户端库相比具有多项优势,例如可通过 Memcache API 进行自动实体缓存。如果您当前使用的是较早的 DB 客户端库,请参阅 DB 到 NDB 的迁移指南
模型类 EntityGroup
、Namespace
、Kind
和 Property
表示获取或查询元数据种类的结果。这些类均在 google.appengine.ext.db.metadata
软件包中定义。如需了解详情及其使用示例,请参阅元数据页面。
辅助函数
以下辅助函数可用于获取元数据信息,无需发出显式查询或 get 调用:
- get_entity_group_version(entity_or_key)
-
返回包含
entity_or_key
的实体组的版本。此版本必定随实体组的每次更改而提高。即使实体组没有用户可见的更改时,版本也可能会提高。如果实体组从未被写入,可能会返回None
。警告:实体组元数据的行为现在有所不同。无论用户是否执行了更新,实体组版本都可能会提高。以前,实体组版本仅在用户执行更新时提高。要保持旧版行为,请使用实体组版本解决方法。
参数:
- entity_or_key
- 键或您想要其版本的实体。
- get_namespaces(start=None, end=None)
-
返回命名空间名称列表。
参数
- start
-
如果不是
None
,则仅返回大于或等于指定值的命名空间名称。 - end
-
如果不是
None
,则仅返回小于指定值的命名空间名称。
- get_kinds(start=None, end=None)
-
返回实体种类名称列表。
参数
- start
-
如果不是
None
,则仅返回大于或等于指定值的种类名称。 - end
-
如果不是
None
,则仅返回小于指定值的种类名称。
- get_properties_of_kind(kind, start=None, end=None)
-
返回指定种类的索引属性名称列表。不包括未编入索引的属性。
参数
- kind
-
属性名称被请求的种类。
- start
-
如果不是
None
,则仅返回大于或等于指定值的属性名称。 - end
-
如果不是
None
,则仅返回小于指定值的属性名称。
- get_representations_of_kind(kind, start=None, end=None)
-
返回一个字典,将指定种类的每个编入索引的属性名称与其表示法列表相映射。不包括未编入索引的属性。
参数
- kind
-
属性表示法被请求的种类。
- start
-
如果不是
None
,则仅返回名称大于或等于指定值的属性的表示法。 - end
-
如果不是
None
,则仅返回名称小于指定值的属性的表示法。
- version
- 版本号
- key_for_entity(entity_or_key)
- 返回包含
entity_or_key
的实体组的元数据键。使用此键作为调用get()
的参数,以获取包含 entity_or_key 的实体组的__entity_group__
元数据实体。参数:
- entity_or_key
- 键或您想要其
__entity_group__
版本的实体。
- namespace_name
-
返回由该实体的键指定的命名空间的名称。
- key_for_namespace(namespace)
-
返回用于指定命名空间的
__namespace__
键。参数
- namespace
-
请求其键的命名空间。
- key_to_namespace(key)
-
返回由指定的
__namespace__
键指定的命名空间。参数
- key
-
请求其名称的键。
- kind_name
-
返回该实体的键指定的种类名称。
- key_for_kind(kind)
-
返回指定类型的
__kind__
键。参数
- kind
-
请求其键的种类。
- key_to_kind(key)
-
返回由指定的
__kind__
键指定的类型。参数
- key
-
请求其种类的键。
- 实体的键具有种类
__property__
和键名 P。 - 父实体的键具有种类
__kind__
和键名 K。 - kind_name
-
返回该实体的键指定的种类名称。
- property_name
-
返回该实体的键指定的属性名称。
- key_for_kind(kind)
-
返回指定类型的
__property__
键的父键。参数
- kind
-
请求其父键的种类。
- key_for_property(kind, property)
-
返回指定属性和种类的
__property__
键。参数
- kind
-
请求其键的种类。
- property
-
请求其键的属性。
- key_to_kind(key)
-
返回由指定的
__property__
键指定的类型。参数
- key
-
请求其种类名称的键。
- key_to_property(key)
-
返回由指定的
__property__
键指定的属性,或者返回None
(如果该键仅指定一种类型)。参数
- key
-
请求其属性名称的键。
EntityGroup 类
__entity_group__
元数据的模型(仅适用于 HR 数据存储区)。
此元数据包含数字 __version__
属性,该属性必定随实体组的每次更改而提高。即使实体组没有用户可见的更改时,版本也可能会提高。如果实体组从未被写入,则 __entity_group__
实体可能不存在。
属性
类方法
Namespace 类
Namespace
类表示特殊种类 __namespace__
的元数据实体,作为命名空间查询结果返回。此实体的键是命名空间的名称。(由空字符串 ""
指定的默认命名空间例外:由于空字符串不是有效的键名,因此此命名空间改为以数字 ID 1
为键)。
属性
Namespace
类的实例具有以下属性:
类方法
Namespace
类具有以下类方法:
Kind 类
Kind
类表示特殊种类 __kind__
的元数据实体,作为种类查询结果返回。该实体的键是实体种类的名称。
属性
Kind
类的实例具有以下属性:
类方法
Kind
类具有以下类方法:
Property 类
Property
类表示特殊种类 __property__
的元数据实体,作为属性查询结果返回。代表种类 K 的属性 P 的实体按以下方式构建:
属性
Property
类的实例具有以下属性:
类方法
Property
类具有以下类方法: