Clase de clave de NBD

Una instancia de la clase Key representa una clave de Datastore inmutable.

Esta página tiene documentación de referencia de API. Para obtener una descripción general, consulta Claves y entidades de NDB.

Introducción

Una Clave es una clave de Datastore inmutable. Las aplicaciones normalmente las usan para referirse a entidades. Cualquier entidad que se haya almacenado tiene una clave. A fin de obtener la clave de una entidad, usa la propiedad clave del modelo. Para recuperar una entidad a partir de su clave, llama al método get() del objeto Key.

Las claves admiten comparaciones, por ejemplo, key1 == key2 o key1 < key2. Estos operadores comparan el ID de aplicaciones, el espacio de nombres y la ruta de acceso principal completa. Usan el mismo orden que Datastore para realizar las consultas cuando ordena por propiedad de clave o por clave.

repr(key) o str(key) muestran la representación de una string similar al formulario de constructor más corto y omiten la app y el espacio de nombres, a menos que sean diferentes del valor predeterminado.

hash(key) funciona. Por lo tanto, puedes almacenar claves en una tabla de hash.

Constructores

Para mayor flexibilidad y conveniencia, se admiten varias firmas de constructores.

class Key(kind1, id1, kind2, id2, ...)
class Key(pairs=[(kind1, id1), (kind2, id2), ...])
class Key(flat=[kind1, id1, kind2, id2, ...])
class Key(urlsafe=string)

Los argumentos posicionales kind1, id1, kind2, id2... están en orden “principal”. (este es un acceso directo para flat=[kind1, id1, kind2, id2]). Los valores principales preceden a los secundarios.

Los argumentos posicionales, pairs y los formularios de constructor flat también pueden pasar otra clave mediante superior=key. Los pares de superiores (kind, id) de la clave superior se insertan antes de que los pares se pasen de manera explícita (kind, id).

El parámetro de palabra clave urlsafe usa una referencia serializada codificada en base 64, pero es mejor considerarla como una string única opaca.

Argumentos de palabra clave de constructor adicionales:

app
Especifica el id de la aplicación (una string).
namespace
Especifica el espacio de nombres (una string).

Métodos de instancia que no afectan el Datastore

Con los siguientes métodos, se accede a los contenidos de una clave. No participan en ninguna actividad de E/S de Datastore.

pairs()

Muestra una tupla de pares (kind, id).

flat()

Muestra una tupla de similares acoplados y valores de id (kind1, id1, kind2, id2, …).

app()

Muestra el id de aplicación.

id()

Muestra la string o el ID de número entero en el último par (kind, id) o None si la clave está incompleta.

string_id()

Muestra el ID de string en el último par (kind, id) o None si la clave tiene un ID de número entero o está incompleta.

integer_id()

Muestra el ID de número entero en el último par (kind, id) o None si la clave tiene un ID de string o está incompleta.

namespace()

Muestra el espacio de nombres.

kind()

Muestra el tipo de similares en el último par (kind, id).

parent()

Muestra una clave construida a partir de todos los pares, excepto el último (kind, id) (o None si la clave tiene solo un par [kind, id]).

urlsafe()

Muestra una versión websafe-base64-encoded en serie de la clave.

Nota: La string segura para URL parece encriptada, pero no lo está. Puede decodificarse con facilidad para recuperar el identificador y el tipo de similares de la entidad original.

to_old_key()

Muestra una Key para la API de Datastore "antigua" (db).

Métodos de instancia que afectan el Datastore

Estos métodos interactúan con Datastore.

get(**ctx_options)

Muestra una entidad para la clave.

Argumentos

**ctx_options
Opciones de contexto
get_async(**ctx_options)

Muestra un Future cuyo resultado eventual es la entidad para la clave.

Argumentos

**ctx_options
Opciones de contexto
delete(**ctx_options)

Borra una entidad para la clave.

Argumentos

**ctx_options
Opciones de contexto
delete_async(**ctx_options)

Borra una entidad para la clave de manera asíncrona.

Argumentos

**ctx_options
Opciones de contexto

Métodos de clase

from_old_key(k)

Muestra una clave de NDB de la API de Datastore "antigua" (db) Key.

Argumentos

**ctx_options
Opciones de contexto