Note: Developers building new applications are strongly encouraged to use the NDB Client Library, which has several benefits compared to this client library, such as automatic entity caching via the Memcache API. If you are currently using the older DB Client Library, read the DB to NDB Migration Guide
The model classes
EntityGroup,
Namespace,
Kind,
and
Property
represent the results of getting or querying metadata kinds.
These classes are all defined in the package
google.appengine.ext.db.metadata. See the page
Metadata
for more information and examples of their use.
Helper Functions
The following helper functions are available for obtaining metadata information without issuing an explicit query or get:
- get_entity_group_version(entity_or_key)
-
Returns the version of the entity group containing
entity_or_key. This version is guaranteed to increase on every change to the entity group. The version may increase even in the absence of user-visible changes to the entity group. May returnNoneif the entity group was never written to.Warning: The behavior of entity group metadata is now different. The entity group version can increase independently of user updates. Previously, the entity group version increased only on user update. To maintain legacy behavior, use the entity group version workaround.
Arguments:
- entity_or_key
- a key or entity whose version you want.
- get_namespaces(start=None, end=None)
-
Returns a list of namespace names.
Arguments
- start
-
If not
None, return only namespace names greater than or equal to the specified value. - end
-
If not
None, return only namespace names less than the specified value.
- get_kinds(start=None, end=None)
-
Returns a list of entity kind names.
Arguments
- start
-
If not
None, return only kind names greater than or equal to the specified value. - end
-
If not
None, return only kind names less than the specified value.
- get_properties_of_kind(kind, start=None, end=None)
-
Returns a list of indexed property names for a specified kind. Unindexed properties are not included.
Arguments
- kind
-
The kind whose property names are requested.
- start
-
If not
None, return only property names greater than or equal to the specified value. - end
-
If not
None, return only property names less than the specified value.
- get_representations_of_kind(kind, start=None, end=None)
-
Returns a dictionary mapping each indexed property name for a specified kind to a list of its representations. Unindexed properties are not included.
Arguments
- kind
-
The kind whose property representations are requested.
- start
-
If not
None, return only representations for properties whose names are greater than or equal to the specified value. - end
-
If not
None, return only representations for properties whose names are less than the specified value.
- version
- The version number
- key_for_entity(entity_or_key)
- Return the metadata key for the entity group containing
entity_or_key. Use this key as the argument toget()the__entity_group__metadata entity for the entity group containing entity_or_key.Arguments:
- entity_or_key
- a key or entity whose
__entity_group__key you want.
- namespace_name
-
Returns the name of the namespace specified by this entity's key.
- key_for_namespace(namespace)
-
Returns the
__namespace__key for the specified namespace.Argument
- namespace
-
The namespace whose key is requested.
- key_to_namespace(key)
-
Returns the namespace specified by a given
__namespace__key.Argument
- key
-
The key whose name is requested.
- kind_name
-
Returns the kind name specified by this entity's key.
- key_for_kind(kind)
-
Returns the
__kind__key for the specified kind.Argument
- kind
-
The kind whose key is requested.
- key_to_kind(key)
-
Returns the kind specified by a given
__kind__key.Argument
- key
-
The key whose kind is requested.
- The entity's key has kind
__property__and key name P. - The parent entity's key has kind
__kind__and key name K. - kind_name
-
Returns the kind name specified by this entity's key.
- property_name
-
Returns the property name specified by this entity's key.
- key_for_kind(kind)
-
Returns the parent key for
__property__keys of the specified kind.Argument
- kind
-
The kind whose parent key is requested.
- key_for_property(kind, property)
-
Returns the
__property__key for the specified property and kind.Arguments
- kind
-
The kind whose key is requested.
- property
-
The property whose key is requested.
- key_to_kind(key)
-
Returns the kind specified by a given
__property__key.Argument
- key
-
The key whose kind name is requested.
- key_to_property(key)
-
Returns the property specified by a given
__property__key, orNoneif the key specified only a kind.Argument
- key
-
The key whose property name is requested.
The EntityGroup Class
Model for __entity_group__ metadata
(available in HR datastore only).
This metadata contains a numeric __version__
property that is guaranteed
to increase on every change to the entity group. The version may increase
even in the absence of user-visible changes to the entity group. The
__entity_group__ entity may not exist if the entity
group was never written to.
Property
Class Method
The Namespace Class
Class Namespace represents a metadata entity of the special kind __namespace__, returned as a result of a
namespace query.
The entity's key is the name of the namespace. (An exception is the default namespace designated by the empty string "": since this is not a valid key name, the default namespace is represented by a key with numeric ID 1 instead.)
Property
Instances of class Namespace have the following property:
Class Methods
Class Namespace has the following class methods:
The Kind Class
Class Kind represents a metadata entity of the special kind __kind__, returned as a result of a
kind query.
The entity's key is the name of the entity kind.
Property
Instances of class Kind have the following property:
Class Methods
Class Kind has the following class methods:
The Property Class
Class Property represents a metadata entity of the special kind __property__, returned as a result of a
property query.
The entity representing property P of kind K is built as follows:
Properties
Instances of class Property have the following properties:
Class Methods
Class Property has the following class methods: