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 renvoyerNone
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.
- version
- Numéro de version
- 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 commandeget()
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__
.
- namespace_name
-
Renvoie le nom de l'espace de noms spécifié par la clé de cette entité.
- 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é.
- kind_name
-
Renvoie le nom de genre indiqué par la clé de cette entité.
- 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é.
- 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. - 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é.
- 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.
- propriété
-
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 ouNone
si la clé spécifie uniquement un genre.Argument
- key
-
La clé dont le nom de propriété est demandé.
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é
Méthode de la classe
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 :
Méthodes des classes
La classe Namespace
dispose des méthodes de classe suivantes :
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 :
Méthodes des classes
La classe Kind
dispose des méthodes de classe suivantes :
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 :
Propriétés
Les instances de la classe Property
ont les propriétés suivantes :
Méthodes des classes
La classe Property
dispose des méthodes de classe suivantes :