Nota: gli sviluppatori che creano nuove applicazioni sono vivamente incoraggiati a utilizzare la libreria client NDB, che offre diversi vantaggi rispetto a questa libreria client, ad esempio la memorizzazione nella cache automatica delle entità tramite l'API Memcache. Se al momento utilizzi la libreria client DB precedente, leggi la guida alla migrazione da DB a NDB
Le classi di modelli
EntityGroup
,
Namespace
,
Kind
,
e
Property
represent rappresentano i risultati dell'ottenimento o della query dei tipi di metadati.
Queste classi sono tutte definite nel pacchetto
google.appengine.ext.db.metadata
. Per ulteriori informazioni ed esempi di utilizzo, consulta la pagina Metadati.
Funzioni di supporto
Per ottenere informazioni sui metadati senza emettere una query o un get esplicito, sono disponibili le seguenti funzioni di supporto:
- get_entity_group_version(entity_or_key)
-
Restituisce la versione del gruppo di entità contenente
entity_or_key
. Questa versione è garantita per aumentare a ogni modifica del gruppo di entità. La versione può aumentare anche in assenza di modifiche visibili dall'utente al gruppo di entità. Può restituireNone
se non è mai stata eseguita alcuna scrittura nel gruppo di entità.Avviso: il comportamento dei metadati del gruppo di entità ora è diverso. La versione del gruppo di entità può aumentare indipendentemente dagli aggiornamenti degli utenti. In precedenza, la versione del gruppo di entità aumentava solo in caso di aggiornamento dell'utente. Per mantenere il comportamento precedente, utilizza la soluzione alternativa per la versione del gruppo di entità.
Argomenti:
- entity_or_key
- una chiave o un'entità di cui vuoi la versione.
- get_namespaces(start=None, end=None)
-
Restituisce un elenco di nomi di spazi dei nomi.
Argomenti
- start
-
Se non è
None
, restituisce solo i nomi dello spazio dei nomi maggiori o uguali al valore specificato. - end
-
Se non è
None
, restituisce solo i nomi degli spazi dei nomi inferiori al valore specificato.
- get_kinds(start=None, end=None)
-
Restituisce un elenco di nomi di tipi di entità.
Argomenti
- start
-
Se non è
None
, restituisce solo i nomi di tipo maggiori o uguali al valore specificato. - end
-
Se non è
None
, restituisce solo i nomi di tipo inferiori al valore specificato.
- get_properties_of_kind(kind, start=None, end=None)
-
Restituisce un elenco di nomi di proprietà indicizzate per un tipo specificato. Le proprietà non indicizzate non sono incluse.
Argomenti
- kind
-
Il tipo di cui vengono richiesti i nomi delle proprietà.
- start
-
Se non è
None
, restituisce solo i nomi delle proprietà maggiori o uguali al valore specificato. - end
-
Se non è
None
, restituisce solo i nomi delle proprietà inferiori al valore specificato.
- get_representations_of_kind(kind, start=None, end=None)
-
Restituisce un dizionario che mappa ogni nome di proprietà indicizzato per un tipo specificato a un elenco delle relative rappresentazioni. Le proprietà non indicizzate non sono incluse.
Argomenti
- kind
-
Il tipo di cui sono richieste le rappresentazioni delle proprietà.
- start
-
Se non è
None
, restituisce solo le rappresentazioni delle proprietà i cui nomi sono maggiori o uguali al valore specificato. - end
-
Se non
None
, restituisce solo le rappresentazioni per le proprietà i cui nomi sono inferiori al valore specificato.
- version
- Il numero di versione
- key_for_entity(entity_or_key)
- Restituisce la chiave dei metadati per il gruppo di entità contenente
entity_or_key
. Utilizza questa chiave come argomento perget()
l'entità dei metadati__entity_group__
per il gruppo di entità contenente entity_or_key.Argomenti:
- entity_or_key
- una chiave o un'entità di cui vuoi la chiave
__entity_group__
.
- namespace_name
-
Restituisce il nome dello spazio dei nomi specificato dalla chiave di questa entità.
- key_for_namespace(namespace)
-
Restituisce la chiave
__namespace__
per lo spazio dei nomi specificato.Argomento
- namespace
-
Lo spazio dei nomi di cui è richiesta la chiave.
- key_to_namespace(key)
-
Restituisce lo spazio dei nomi specificato da una determinata chiave
__namespace__
.Argomento
- chiave
-
La chiave di cui è richiesto il nome.
- kind_name
-
Restituisce il nome del tipo specificato dalla chiave di questa entità.
- key_for_kind(kind)
-
Restituisce la chiave
__kind__
per il tipo specificato.Argomento
- kind
-
Il tipo di cui viene richiesta la chiave.
- key_to_kind(key)
-
Restituisce il tipo specificato da una determinata chiave
__kind__
.Argomento
- chiave
-
La chiave di cui è richiesto il tipo.
- La chiave dell'entità ha il tipo
__property__
e il nome della chiave P. - La chiave dell'entità padre ha il tipo
__kind__
e il nome della chiave K. - kind_name
-
Restituisce il nome del tipo specificato dalla chiave di questa entità.
- property_name
-
Restituisce il nome della proprietà specificato dalla chiave di questa entità.
- key_for_kind(kind)
-
Restituisce la chiave principale per le chiavi
__property__
del tipo specificato.Argomento
- kind
-
Il tipo di cui è richiesta la chiave principale.
- key_for_property(kind, property)
-
Restituisce la chiave
__property__
per la proprietà e il tipo specificati.Argomenti
- kind
-
Il tipo di cui viene richiesta la chiave.
- property
-
La proprietà di cui è richiesta la chiave.
- key_to_kind(key)
-
Restituisce il tipo specificato da una determinata chiave
__property__
.Argomento
- chiave
-
La chiave di cui è richiesto il nome del tipo.
- key_to_property(key)
-
Restituisce la proprietà specificata da una determinata chiave
__property__
oNone
se la chiave ha specificato solo un tipo.Argomento
- chiave
-
La chiave di cui è richiesto il nome della proprietà.
La classe EntityGroup
Modello per i metadati __entity_group__
(disponibile solo nel datastore RU).
Questi metadati contengono una proprietà numerica __version__
che è garantita
per aumentare a ogni modifica del gruppo di entità. La versione può aumentare anche in assenza di modifiche visibili all'utente al gruppo di entità. L'entità __entity_group__
potrebbe non esistere se non è mai stato scritto nel gruppo di entità.
Proprietà
Metodo di classe
La classe Namespace
La classe Namespace
rappresenta un'entità di metadati del tipo speciale __namespace__
, restituita come risultato di una
query sullo spazio dei nomi.
La chiave dell'entità è il nome dello spazio dei nomi. Un'eccezione è lo spazio dei nomi predefinito designato dalla stringa vuota ""
: poiché non si tratta di un nome di chiave valido, lo spazio dei nomi predefinito è rappresentato da una chiave con ID numerico 1
.
Proprietà
Le istanze della classe Namespace
hanno la seguente proprietà:
Metodi di classe
La classe Namespace
ha i seguenti metodi di classe:
La classe Kind
La classe Kind
rappresenta un'entità di metadati del tipo speciale __kind__
, restituita come risultato di una
query sul tipo.
La chiave dell'entità è il nome del tipo di entità.
Proprietà
Le istanze della classe Kind
hanno la seguente proprietà:
Metodi di classe
La classe Kind
ha i seguenti metodi di classe:
La classe Property
La classe Property
rappresenta un'entità di metadati del tipo speciale __property__
, restituita come risultato di una
query sulle proprietà.
L'entità che rappresenta la proprietà P di tipo K viene creata come segue:
Proprietà
Le istanze della classe Property
hanno le seguenti proprietà:
Metodi di classe
La classe Property
ha i seguenti metodi di classe: