Riferimento a Python per le entità di metadati

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ò restituire None 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.

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à

version
Il numero di versione

Metodo di classe

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 per get() 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__.

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à:

namespace_name

Restituisce il nome dello spazio dei nomi specificato dalla chiave di questa entità.

Metodi di classe

La classe Namespace ha i seguenti metodi di classe:

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.

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à:

kind_name

Restituisce il nome del tipo specificato dalla chiave di questa entità.

Metodi di classe

La classe Kind ha i seguenti metodi di classe:

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

  • 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.

Proprietà

Le istanze della classe Property hanno le seguenti proprietà:

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à.

Metodi di classe

La classe Property ha i seguenti metodi di classe:

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__ o None se la chiave ha specificato solo un tipo.

Argomento

chiave

La chiave di cui è richiesto il nome della proprietà.