元数据实体 Python 参考

注意强烈建议构建新应用的开发者使用 NDB 客户端库,它与 DB 客户端库相比具有多项优势,例如可通过 Memcache API 进行自动实体缓存。如果您当前使用的是较早的 DB 客户端库,请参阅 DB 到 NDB 的迁移指南

模型类 EntityGroupNamespaceKindProperty 表示获取或查询元数据种类的结果。这些类均在 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,则仅返回名称小于指定值的属性的表示法。

EntityGroup 类

__entity_group__ 元数据的模型(仅适用于 HR 数据存储区)。

此元数据包含数字 __version__ 属性,该属性必定随实体组的每次更改而提高。即使实体组没有用户可见的更改时,版本也可能会提高。如果实体组从未被写入,则 __entity_group__ 实体可能不存在。

属性

version
版本号

类方法

key_for_entity(entity_or_key)
返回包含 entity_or_key 的实体组的元数据键。使用此键作为调用 get() 的参数,以获取包含 entity_or_key 的实体组的 __entity_group__ 元数据实体。

参数:

entity_or_key
键或您想要其 __entity_group__ 版本的实体。

Namespace 类

Namespace 类表示特殊种类 __namespace__ 的元数据实体,作为命名空间查询结果返回。此实体的键是命名空间的名称。(由空字符串 "" 指定的默认命名空间例外:由于空字符串不是有效的键名,因此此命名空间改为以数字 ID 1 为键)。

属性

Namespace 类的实例具有以下属性:

namespace_name

返回由该实体的键指定的命名空间的名称。

类方法

Namespace 类具有以下类方法:

key_for_namespace(namespace)

返回用于指定命名空间的 __namespace__ 键。

参数

namespace

请求其键的命名空间。

key_to_namespace(key)

返回由指定的 __namespace__ 键指定的命名空间。

参数

key

请求其名称的键。

Kind 类

Kind 类表示特殊种类 __kind__ 的元数据实体,作为种类查询结果返回。该实体的键是实体种类的名称。

属性

Kind 类的实例具有以下属性:

kind_name

返回该实体的键指定的种类名称。

类方法

Kind 类具有以下类方法:

key_for_kind(kind)

返回指定类型的 __kind__ 键。

参数

kind

请求其键的种类。

key_to_kind(key)

返回由指定的 __kind__ 键指定的类型。

参数

key

请求其种类的键。

Property 类

Property 类表示特殊种类 __property__ 的元数据实体,作为属性查询结果返回。代表种类 K 的属性 P 的实体按以下方式构建:

  • 实体的键具有种类 __property__ 和键名 P
  • 父实体的键具有种类 __kind__ 和键名 K

属性

Property 类的实例具有以下属性:

kind_name

返回该实体的键指定的种类名称。

property_name

返回该实体的键指定的属性名称。

类方法

Property 类具有以下类方法:

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

请求其属性名称的键。