Classe de clé NDB

Une instance de la classe Key représente une clé Datastore immuable.

Cette page contient une documentation de référence sur l'API. Si vous souhaitez obtenir une présentation, consultez Entités NDB et clés.

Présentation

Une clé est une clé Datastore immuable. Les applications les utilisent généralement pour faire référence à des entités. Toute entité stockée a une clé. Pour obtenir la clé d'une entité, utilisez la propriété key du modèle. Pour récupérer une entité à l'aide de sa clé, appelez la méthode get() de l'objet Key.

Les clés sont compatibles avec les comparaisons, par exemple key1 == key2 ou key1 < key2. Ces opérateurs comparent l'ID application, l'espace de noms et le "chemin d'ancêtre" complet. Ils utilisent la même méthode de classement que celle appliquée aux requêtes dans Datastore pour les classer par propriété de clé ou par clé.

La fonction repr(key) ou str(key) renvoie une représentation de chaîne semblable à la forme de constructeur la plus courte, en omettant l'application et l'espace de noms, à moins qu'ils ne diffèrent de la valeur par défaut.

La fonction hash(key) compatible vous permet de stocker des clés dans une table de hachage.

Constructeurs

Pour plus de souplesse et de commodité, plusieurs signatures de constructeur sont acceptées.

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

Les arguments de position kind1, id1, kind2, id2 ... suivent l'ordre des "ancêtres". (Il s'agit d'un raccourci pour flat=[kind1, id1, kind2, id2]) Les parents viennent avant les enfants.

Les arguments de position et les formes de constructeur pairs et flat peuvent également passer dans une autre clé à l'aide de "parent = key". Les paires (kind, id) de la clé parente sont insérées avant les paires (kind, id) passées explicitement.

Le paramètre de mot clé urlsafe utilise une référence sérialisée codée en base 64 garanti sur le Web, mais il est préférable de la considérer comme une simple chaîne unique et opaque.

Arguments de mot clé de constructeur supplémentaires :

app
spécifie l'ID application (une chaîne)
namespace
spécifie l'espace de noms (une chaîne)

Méthodes d'instance qui n'affectent pas le datastore

Les méthodes suivantes permettent d'accéder au contenu d'une clé. Elles n'interviennent dans aucune activité d'E/S du datastore.

pairs()

Renvoie un tuple de paires (kind, id).

flat()

Renvoie un tuple de valeurs "kind" et "id" aplaties (kind1, id1, kind2, id2, ...).

app()

Renvoie l'ID application.

id()

Renvoie l'ID de type "string" ou "integer" (chaîne ou entier) dans la dernière paire (kind, id) ou dans la valeur None si la clé est incomplète.

string_id()

Renvoie l'ID de type "string" (chaîne) dans la dernière paire (kind, id) ou la valeur None si la clé a un ID de type "integer" (entier) ou est incomplète.

integer_id()

Renvoie l'ID de type "integer" (entier) dans la dernière paire (kind, id) ou la valeur None si la clé a un ID de type "string" (chaîne) ou est incomplète.

namespace()

Renvoie l'espace de noms.

kind()

Renvoie le genre dans la dernière paire (kind, id).

parent()

Renvoie une clé construite à partir de toutes les paires à l'exception de la dernière paire (kind, id) (ou la valeur None si la clé n'a qu'une seule paire "(kind, id)").

urlsafe()

Renvoie une version de clé sérialisée et encodée en base 64 garanti sur le Web.

Remarque : La chaîne sécurisée pour les URL semble difficile à déchiffrer, mais elle n'est pas chiffrée ! Elle peut être facilement décodée pour récupérer le genre et l'identifiant de l'entité d'origine.

to_old_key()

Renvoie une clé Key pour l'ancienne API Datastore (db).

Méthodes d'instance qui affectent le datastore

Ces méthodes interagissent avec le datastore.

get(**ctx_options)

Renvoie l'entité de la clé.

Arguments

**ctx_options
Options de contexte
get_async(**ctx_options)

Renvoie une opération Future dont le résultat final est l'entité de la clé.

Arguments

**ctx_options
Options de contexte
delete(**ctx_options)

Supprime l'entité de la clé.

Arguments

**ctx_options
Options de contexte
delete_async(**ctx_options)

Supprime de manière asynchrone l'entité de la clé.

Arguments

**ctx_options
Options de contexte

Méthodes des classes

from_old_key(k)

Renvoie une clé NDB à partir de la clé Key passée à l'ancienne API Datastore (db).

Arguments

**ctx_options
Options de contexte
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement standard App Engine pour Python