Riferimento a Python per le entità di metadati

Nota:gli sviluppatori che creano nuove applicazioni sono fortemente incoraggiati a utilizzare la libreria client NDB, che offre diversi vantaggi rispetto a questa libreria client, ad esempio la memorizzazione automatica nella cache 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 rappresentano i risultati dell'ottenimento o dell'interrogazione 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 helper

Sono disponibili le seguenti funzioni helper per ottenere informazioni sui metadati senza eseguire una query o un'operazione get esplicita:

get_entity_group_version(entity_or_key)

Restituisce la versione del gruppo di entità contenente entity_or_key. Questa versione aumenta a ogni modifica del gruppo di entità. La versione potrebbe aumentare anche in assenza di modifiche visibili all'utente al gruppo di entità. Potrebbe restituire None se il gruppo di entità non è mai stato scritto.

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 seguito all'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, restituisci solo i nomi degli spazi 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

In caso contrario, restituisce solo i nomi dei tipi maggiori o uguali al valore specificato.None

end

In caso contrario, se non None, restituisce solo i nomi dei tipi inferiori al valore specificato.

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

Restituisce un elenco di nomi di proprietà indicizzati 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, restituisci 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 vengono richieste le rappresentazioni delle proprietà.

start

Se non None, restituisci solo le rappresentazioni delle proprietà i cui nomi sono maggiori o uguali al valore specificato.

end

Se non None, restituisci solo le rappresentazioni delle proprietà i cui nomi sono inferiori al valore specificato.

La classe EntityGroup

Modello per i metadati __entity_group__ (disponibile solo nell'archivio dati RU).

Questi metadati contengono una proprietà numerica __version__ che aumenta a ogni modifica del gruppo di entità. La versione potrebbe aumentare anche in assenza di modifiche visibili all'utente al gruppo di entità. L'entità __entity_group__ potrebbe non esistere se il gruppo di entità non è mai stato scritto.

Proprietà

version
Il numero di versione

Metodo della 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à metadati __entity_group__ per il gruppo di entità contenente entity_or_key.

Argomenti:

entity_or_key
una chiave o un'entità di cui vuoi ottenere 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 dello spazio dei nomi. La chiave dell'entità è il nome dello spazio dei nomi. Un'eccezione è lo spazio dei nomi predefinito indicato 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 della 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 viene richiesta la chiave.

key_to_namespace(key)

Restituisce lo spazio dei nomi specificato da una determinata chiave __namespace__.

Argomento

chiave

La chiave di cui viene richiesto il nome.

The Kind Class

La classe Kind rappresenta un'entità di metadati del tipo speciale __kind__, restituita come risultato di una query di 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 della 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 viene richiesto il tipo.

La classe di proprietà

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 è creata nel seguente modo:

  • La chiave dell'entità ha tipo __property__ e nome della chiave P.
  • La chiave dell'entità padre ha tipo __kind__ e 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 della 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 viene richiesta la chiave padre.

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.

proprietà

La proprietà di cui viene richiesta la chiave.

key_to_kind(key)

Restituisce il tipo specificato da una determinata chiave __property__.

Argomento

chiave

La chiave di cui viene richiesto il nome del tipo.

key_to_property(key)

Restituisce la proprietà specificata da una determinata chiave __property__ o None se la chiave specifica solo un tipo.

Argomento

chiave

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