Python 2 ya no es compatible con la comunidad. Recomendamos que migres las apps de Python 2 a Python 3.

Referencia de Python de las entidades de metadatos

Nota: Se recomienda enfáticamente a los desarrolladores que compilan aplicaciones nuevas que usen la biblioteca cliente de NDB, ya que tiene muchas ventajas en comparación con esta biblioteca cliente, como el almacenamiento en caché automático de entidades mediante la API de Memcache. Si por el momento usas la biblioteca cliente de DB anterior, lee la Guía de migración de DB a NDB.

Las clases de modelo EntityGroup, Namespace, Kind y Property representan los resultados de las operaciones de obtención y consulta de 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 uso.

Funciones auxiliares

Las siguientes funciones auxiliares están disponibles para obtener información de metadatos sin tener que enviar una consulta o una operación get explícita:

get_entity_group_version(entity_or_key)

Muestra la versión del grupo de entidades que contiene entity_or_key. Esta versión garantiza el aumento en cada cambio en el grupo de entidades. Es posible que la versión aumente incluso si no existen cambios que el usuario pueda ver en el grupo de entidades. Puede mostrar None si nunca se escribió en el grupo de entidades.

Advertencia: Ahora, el comportamiento de los metadatos de los grupos de entidades es diferente. La versión de un grupo de entidades puede aumentar sin depender de las actualizaciones del usuario. Anteriormente, la versión de un grupo de entidades solo aumentaba cuando había actualizaciones del usuario. Para mantener el comportamiento heredado, usa la solución alternativa para versiones de grupos de entidades.

Argumentos:

entity_or_key
Es una clave o entidad cuya versión deseas.
get_namespaces(start=None, end=None)

Muestra una lista de nombres de espacio de nombres.

Argumentos

start

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

end

Si no es None, solo muestra nombres de espacio de nombres menores que el valor especificado.

get_kinds(start=None, end=None)

Muestra una lista de nombres de tipos de entidades.

Argumentos

start

Si no es None, solo muestra nombres de categorías mayores o iguales que el valor especificado.

end

Si no es None, solo muestra nombres de categorías menores que el valor especificado.

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

Muestra una lista de los nombres de propiedades indexadas para un tipo determinado. No se incluyen las propiedades que no están indexadas.

Argumentos

kind

El tipo cuyos nombres de propiedad se solicitan.

start

Si no es None, solo muestra los nombres de las propiedades mayores o iguales que el valor especificado.

end

Si no es None, solo muestra los nombres de las propiedades menores que el valor especificado.

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

Muestra un diccionario que asigna cada nombre de propiedad indexada para un tipo determinado a una lista de sus representaciones. No se incluyen las propiedades que no están indexadas.

Argumentos

kind

El tipo cuyas representaciones de propiedad se solicitan.

start

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

end

Si no es None, solo muestra representaciones de propiedades cuyos nombres sean menores que el valor especificado.

Clase EntityGroup

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

Estos metadatos contienen una propiedad __version__ numérica cuyo aumento por cada cambio que se realice en el grupo de entidades está garantizado. Es posible que la versión aumente incluso si no existen cambios que el usuario pueda ver en el grupo de entidades. Puede que la entidad __entity_group__ no exista si nunca se escribió en el grupo de entidades.

Propiedad

version
Es el número de versión.

Método de clase

key_for_entity(entity_or_key)
Muestra la clave de metadatos para el grupo de entidades que contiene entity_or_key. Usa esta clave como argumento a fin de realizar una operación get() para la entidad de metadatos __entity_group__ del grupo de entidades que contiene entity_or_key.

Argumentos:

entity_or_key
Es una clave o entidad cuya clave __entity_group__ deseas.

Clase Namespace

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

Propiedad

Las instancias de la clase Namespace tienen la siguiente propiedad:

namespace_name

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

Métodos de clase

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

key_for_namespace(namespace)

Muestra la clave __namespace__ para el espacio de nombres que se especificó.

Argumento

namespace

La clave del espacio de nombres que se solicita.

key_to_namespace(key)

Muestra el espacio de nombres que especificó una clave __namespace__ determinada.

Argumento

key

La clave cuyo nombre se solicita.

Clase Kind

La clase Kind representa una entidad de metadatos del tipo especial __kind__, que se muestra 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

Muestra el nombre de tipo especificado por la clave de la entidad.

Métodos de clase

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

key_for_kind(kind)

Muestra la clave __kind__ para la categoría que se especificó.

Argumento

kind

El tipo cuya clave se solicita.

key_to_kind(key)

Muestra la categoría que especificó una clave __kind__ determinada.

Argumento

key

La clave cuyo tipo se solicita.

Clase Property

La clase Property representa una entidad de metadatos del tipo especial __property__, que se muestra como resultado de una consulta de propiedad. La entidad que representa la propiedad P del tipo K está compuesta por los siguientes elementos:

  • La clave de la entidad tiene la categoría __property__ y el nombre de clave P.
  • La clave de la entidad principal tiene la categoría __kind__ y el nombre de clave K.

Propiedades

Las instancias de la clase Property tienen las siguientes propiedades:

kind_name

Muestra el nombre de tipo especificado por la clave de la entidad.

property_name

Muestra el nombre de la propiedad especificada por la clave de la entidad.

Métodos de clase

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

key_for_kind(kind)

Muestra la clave superior para las claves __property__ de la categoría que se especificó.

Argumento

kind

El tipo cuya clave principal se solicita.

key_for_property(kind, property)

Muestra la clave __property__ para la propiedad y la categoría que se especificaron.

Argumentos

kind

El tipo cuya clave se solicita.

property

La propiedad cuya clave se solicita.

key_to_kind(key)

Muestra la categoría que especificó una clave __property__ determinada.

Argumento

key

La clave cuyo nombre del tipo se solicita.

key_to_property(key)

Muestra la propiedad que especifica una clave __property__ determinada o muestra None si la clave especificó solo una categoría.

Argumento

key

La clave cuyo nombre de propiedad se solicita.