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 constructorflat
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