Referencia de Python de entidades de metadatos

Nota: Se recomienda encarecidamente a los desarrolladores que creen aplicaciones nuevas que usen la biblioteca de cliente de NDB, que ofrece varias ventajas en comparación con esta biblioteca de cliente, como el almacenamiento automático en caché de entidades mediante la API Memcache. Si actualmente usas la biblioteca de cliente de DB anterior, consulta la guía de migración de DB a NDB.

Las clases de modelo EntityGroup, Namespace, Kind, Property y representan los resultados de obtener o consultar tipos de metadatos. Todas estas clases se definen en el paquete google.appengine.ext.db.metadata. Consulta la página Metadatos para obtener más información y ejemplos de su uso.

Funciones auxiliares

Las siguientes funciones auxiliares están disponibles para obtener metadatos sin enviar una consulta o una solicitud GET explícita:

get_entity_group_version(entity_or_key)

Devuelve la versión del grupo de entidades que contiene entity_or_key. Esta versión aumenta con cada cambio que se haga en el grupo de entidades. La versión puede aumentar aunque no haya cambios visibles para el usuario en el grupo de entidades. Puede devolver None si el grupo de entidades nunca se ha escrito.

Advertencia: El comportamiento de los metadatos de grupos de entidades ha cambiado. La versión del grupo de entidades puede aumentar independientemente de las actualizaciones de los usuarios. Anteriormente, la versión del grupo de entidades solo aumentaba cuando se actualizaba el usuario. Para mantener el comportamiento antiguo, usa la solución alternativa de la versión del grupo de entidades.

Argumentos:

entity_or_key
una clave o una entidad de la que quieras obtener la versión.
get_namespaces(start=None, end=None)

Devuelve una lista de nombres de espacios de nombres.

Argumentos

start

Si no es None, devuelve solo los nombres de espacio de nombres que sean mayores o iguales que el valor especificado.

end

Si no es None, devuelve solo los nombres de espacio de nombres inferiores al valor especificado.

get_kinds(start=None, end=None)

Devuelve una lista de nombres de tipos de entidad.

Argumentos

start

Si no es None, devuelve solo los nombres de tipo que sean mayores o iguales que el valor especificado.

end

Si no es así None, devuelve solo los nombres de tipo inferiores al valor especificado.

get_properties_of_kind(kind, start=None, end=None)

Devuelve una lista de nombres de propiedades indexadas de un tipo específico. No se incluyen las propiedades sin indexar.

Argumentos

kind

El tipo cuyos nombres de propiedad se solicitan.

start

Si no es None, devuelve solo los nombres de propiedad que sean mayores o iguales que el valor especificado.

end

Si no es None, devuelve solo los nombres de las propiedades que sean inferiores al valor especificado.

get_representations_of_kind(kind, start=None, end=None)

Devuelve un diccionario que asigna cada nombre de propiedad indexada de un tipo especificado a una lista de sus representaciones. No se incluyen las propiedades sin indexar.

Argumentos

kind

El tipo cuyas representaciones de propiedad se solicitan.

start

Si no es None, devuelve solo las representaciones de las propiedades cuyos nombres sean mayores o iguales que el valor especificado.

end

Si no es None, devuelve solo las representaciones de las propiedades cuyos nombres sean inferiores al valor especificado.

Clase EntityGroup

Modelo de metadatos de __entity_group__ (solo disponible en el almacén de datos de RR. HH.).

Estos metadatos contienen una propiedad numérica __version__ que aumenta con cada cambio que se haga en el grupo de entidades. La versión puede aumentar aunque no haya cambios visibles para el usuario en el grupo de entidades. Es posible que la entidad __entity_group__ no exista si nunca se ha escrito en el grupo de entidades.

Propiedad

version
Número de versión

Método de clase

key_for_entity(entity_or_key)
Devuelve la clave de metadatos del grupo de entidades que contiene entity_or_key. Usa esta clave como argumento de get() la __entity_group__ entidad de metadatos de la entidad de grupo que contiene entity_or_key.

Argumentos:

entity_or_key
una clave o una entidad cuya __entity_group__ clave quieras obtener.

Clase Namespace

La clase Namespace representa una entidad de metadatos del tipo especial __namespace__, que se devuelve como resultado de una consulta de espacio de nombres. La clave de la entidad es el nombre del espacio de nombres. (La excepción es el espacio de nombres predeterminado, que se designa mediante la cadena vacía "". Como no es un nombre de clave válido, el espacio de nombres predeterminado se representa mediante una clave con el ID numérico 1).

Propiedad

Las instancias de la clase Namespace tienen la siguiente propiedad:

namespace_name

Devuelve el nombre del espacio de nombres especificado por la clave de esta entidad.

Métodos de clase

La clase Namespace tiene los siguientes métodos de clase:

key_for_namespace(namespace)

Devuelve la clave __namespace__ del espacio de nombres especificado.

Argumento

namespace

Espacio de nombre cuya clave se solicita.

key_to_namespace(key)

Devuelve el espacio de nombres especificado por una clave __namespace__ determinada.

Argumento

clave

Clave cuyo nombre se solicita.

The Kind Class

La clase Kind representa una entidad de metadatos del tipo especial __kind__, que se devuelve como resultado de una consulta de tipo. La clave de la entidad es el nombre del tipo de entidad.

Propiedad

Las instancias de la clase Kind tienen la siguiente propiedad:

kind_name

Devuelve el nombre del tipo especificado por la clave de esta entidad.

Métodos de clase

La clase Kind tiene los siguientes métodos de clase:

key_for_kind(kind)

Devuelve la clave __kind__ del tipo especificado.

Argumento

kind

Tipo cuya clave se solicita.

key_to_kind(key)

Devuelve el tipo especificado por una __kind__ clave determinada.

Argumento

clave

Clave cuyo tipo se solicita.

La clase Property

La clase Property representa una entidad de metadatos del tipo especial __property__, que se devuelve como resultado de una consulta de propiedad. La entidad que representa la propiedad P de tipo K se crea de la siguiente manera:

  • La clave de la entidad tiene el tipo __property__ y el nombre de clave P.
  • La clave de la entidad superior tiene el tipo __kind__ y el nombre de clave K.

Propiedades

Las instancias de la clase Property tienen las siguientes propiedades:

kind_name

Devuelve el nombre del tipo especificado por la clave de esta entidad.

property_name

Devuelve el nombre de la propiedad especificada por la clave de esta entidad.

Métodos de clase

La clase Property tiene los siguientes métodos de clase:

key_for_kind(kind)

Devuelve la clave principal de las claves __property__ del tipo especificado.

Argumento

kind

Tipo cuya clave principal se solicita.

key_for_property(kind, property)

Devuelve la clave __property__ de la propiedad y el tipo especificados.

Argumentos

kind

Tipo cuya clave se solicita.

property

Propiedad cuya clave se solicita.

key_to_kind(key)

Devuelve el tipo especificado por una __property__ clave determinada.

Argumento

clave

Clave cuyo nombre de tipo se solicita.

key_to_property(key)

Devuelve la propiedad especificada por una clave __property__ determinada o None si la clave solo especifica un tipo.

Argumento

clave

Clave cuyo nombre de propiedad se solicita.