Documentation de référence sur les entités de métadonnées pour Python

Remarque : Les développeurs qui créent des applications sont vivement encouragés à utiliser la bibliothèque cliente NDB qui présente plusieurs avantages supplémentaires par rapport à cette bibliothèque cliente, tels que la mise en cache automatique des entités via l'API Memcache. Si vous utilisez actuellement l'ancienne bibliothèque cliente DB, consultez le guide de migration de DB vers NDB.

Les classes de modèle EntityGroup, Namespace, Kind et Property représentent les résultats de l'obtention ou de l'interrogation de genres de métadonnées. Ces classes sont toutes définies dans le package google.appengine.ext.db.metadata. Pour obtenir plus d'informations et d'exemples d'utilisation, consultez la page Métadonnées.

Fonctions de l'outil d'aide

Les fonctions suivantes de l'outil d'aide permettent d'obtenir des informations de métadonnées sans émettre de commande GET ni de requête explicite :

get_entity_group_version(entity_or_key)

Renvoie la version du groupe d'entités contenant entity_or_key. L'augmentation du numéro de cette version est garantie à chaque modification apportée au groupe d'entités. La version peut augmenter même en l'absence de modifications visibles par l'utilisateur dans le groupe d'entités. Cette fonction peut renvoyer None si aucune opération d'écriture n'a été réalisée dans le groupe d'entités.

Avertissement : Désormais, les métadonnées d'un groupe d'entités se comportent de manière différente. La version du groupe d'entités peut augmenter indépendamment des mises à jour utilisateur. Auparavant, la version du groupe d'entités n'augmentait que lors de la mise à jour par l'utilisateur. Pour conserver l'ancien comportement, utilisez la solution de contournement basée sur la version d'un groupe d'entités.

Arguments :

entity_or_key
Une clé ou entité dont vous souhaitez modifier la version.
get_namespaces(start=None, end=None)

Renvoie une liste de noms d'espaces de noms.

Arguments

start

Si la valeur n'est pas None, ne renvoie que les noms d'espace de noms supérieurs ou égaux à la valeur spécifiée.

end

Si la valeur n'est pas None, ne renvoie que les noms d'espace de noms inférieurs à la valeur spécifiée.

get_kinds(start=None, end=None)

Renvoie une liste de noms de genres d'entités.

Arguments

start

Si la valeur n'est pas None, ne renvoie que les noms de genre supérieurs ou égaux à la valeur spécifiée.

end

Si la valeur n'est pas None, ne renvoie que les noms de genre inférieurs à la valeur spécifiée.

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

Renvoie une liste de noms de propriétés indexées pour un genre spécifié. Les propriétés non indexées ne sont pas incluses.

Arguments

kind

Genre dont les noms de propriété sont demandés.

start

Si la valeur n'est pas None, ne renvoie que les noms de propriété supérieurs ou égaux à la valeur spécifiée.

end

Si la valeur n'est pas None, ne renvoie que les noms de propriété inférieurs à la valeur spécifiée.

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

Renvoie un dictionnaire mappant chaque nom de propriété indexée pour un genre spécifié sur une liste de ses représentations. Les propriétés non indexées ne sont pas incluses.

Arguments

kind

Genre dont les représentations de propriétés sont demandées.

start

Si la valeur n'est pas None, ne renvoie que les représentations des propriétés dont les noms sont supérieurs ou égaux à la valeur spécifiée.

end

Si la valeur n'est pas None, ne renvoie que les représentations des propriétés dont les noms sont inférieurs à la valeur spécifiée.

Classe EntityGroup

Modèle pour les métadonnées __entity_group__ (disponible uniquement dans les datastores à réplication avancée).

Ces métadonnées contiennent une propriété numérique __version__ dont l'augmentation à chaque modification du groupe d'entités est garantie. Le numéro de version peut augmenter même si les modifications apportées au groupe d'entités ne sont pas visibles par l'utilisateur. L'entité __entity_group__ peut ne pas exister si aucune opération d'écriture n'a été réalisée dans le groupe d'entités.

Propriété

version
Numéro de version

Méthode de la classe

key_for_entity(entity_or_key)
Renvoie la clé de métadonnées du groupe d'entités contenant entity_or_key. Utilisez cette clé comme argument pour émettre une commande get() afin d'obtenir l'entité de métadonnées __entity_group__ du groupe d'entités contenant entity_or_key.

Arguments :

entity_or_key
Clé ou entité dont vous voulez la clé __entity_group__.

Classe Namespace

La classe Namespace représente une entité de métadonnées du genre spécial __namespace__, renvoyée à la suite d'une requête d'espace de noms. La clé de l'entité correspond au nom de l'espace de noms. L'espace de noms par défaut désigné par la chaîne vide "" constitue une exception : comme il ne s'agit pas d'un nom de clé valide, l'espace de noms par défaut est représenté par une clé avec ID numérique 1 à la place.

Propriété

Les instances de la classe Namespace ont la propriété suivante :

namespace_name

Renvoie le nom de l'espace de noms spécifié par la clé de cette entité.

Méthodes de la classe

La classe Namespace dispose des méthodes de classe suivantes :

key_for_namespace(namespace)

Renvoie la clé __namespace__ pour l'espace de noms spécifié.

Argument

namespace

Espace de noms dont la clé est demandée.

key_to_namespace(key)

Renvoie l'espace de noms spécifié par une clé __namespace__ donnée.

Argument

key

Clé dont le nom est demandé.

Classe Kind

La classe Kind représente une entité de métadonnées du genre spécial __kind__, renvoyée à la suite d'une requête de genre. La clé de l'entité est le nom du genre d'entité.

Propriété

Les instances de la classe Kind ont la propriété suivante :

kind_name

Renvoie le nom de genre indiqué par la clé de cette entité.

Méthodes de la classe

La classe Kind dispose des méthodes de classe suivantes :

key_for_kind(kind)

Renvoie la clé __kind__ pour le genre spécifié.

Argument

kind

Genre dont la clé est demandée.

key_to_kind(key)

Renvoie le genre spécifié par une clé __kind__ donnée.

Argument

key

Clé dont le genre est demandé.

Classe Property

La classe Property représente une entité de métadonnées du genre spécial __property__, renvoyée à la suite d'une requête de propriété. L'entité représentant la propriété P du genre K est conçue comme suit :

  • La clé de l'entité est du genre __property__ et porte le nom P.
  • La clé de l'entité parente est du genre __kind__ et porte le nom K.

Propriétés

Les instances de la classe Property ont les propriétés suivantes :

kind_name

Renvoie le nom de genre indiqué par la clé de cette entité.

property_name

Renvoie le nom de la propriété spécifiée par la clé de cette entité.

Méthodes de la classe

La classe Property dispose des méthodes de classe suivantes :

key_for_kind(kind)

Renvoie la clé parente pour les clés __property__ du genre spécifié.

Argument

kind

Genre dont la clé parent est demandée.

key_for_property(kind, property)

Renvoie la clé __property__ pour la propriété et le genre spécifiés.

Arguments

kind

Genre dont la clé est demandée.

property

Propriété dont la clé est demandée.

key_to_kind(key)

Renvoie le genre spécifié par une clé __property__ donnée.

Argument

key

La clé dont le nom de genre est demandé.

key_to_property(key)

Renvoie la propriété spécifiée par une clé __property__ donnée ou None si la clé spécifie uniquement un genre.

Argument

key

La clé dont le nom de propriété est demandé.