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 mostrarNone
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.
- version
- Es el número de versión.
- 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ónget()
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.
- namespace_name
-
Muestra el nombre del espacio de nombres especificado por esta clave de la entidad.
- 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.
- kind_name
-
Muestra el nombre de tipo especificado por la clave de la entidad.
- 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.
- 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. - 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.
- 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 muestraNone
si la clave especificó solo una categoría.Argumento
- key
-
La clave cuyo nombre de propiedad se solicita.
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
Método de clase
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:
Métodos de clase
La clase Namespace
tiene los siguientes métodos de clase:
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:
Métodos de clase
La clase Kind
tiene los siguientes métodos de clase:
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:
Propiedades
Las instancias de la clase Property
tienen las siguientes propiedades:
Métodos de clase
La clase Property
tiene los siguientes métodos de clase: