Riferimento Python per 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, come la memorizzazione nella cache automatica delle entità tramite l'API Memcache. Se attualmente utilizzi la libreria client DB precedente, leggi la Guida alla migrazione dal database a NDB

Le classi del modello EntityGroup, Namespace, Kind e Property rappresentano i risultati del recupero o dell'esecuzione di query sui tipi di metadati. Queste classi sono tutte definite nel pacchetto google.appengine.ext.db.metadata. Consulta la pagina Metadati per ulteriori informazioni ed esempi sul loro utilizzo.

Funzioni helper

Per ottenere informazioni sui metadati senza inviare una query esplicita o ottenere, sono disponibili le seguenti funzioni helper:

get_entity_group_version(entity_or_key)

Restituisce la versione del gruppo di entità contenente entity_or_key. È garantito che questa versione aumenti a ogni modifica al gruppo di entità. La versione può aumentare anche in assenza di modifiche visibili all'utente per il gruppo di entità. Può 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 utente. In precedenza, la versione del gruppo di entità aumentava solo 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=Nessuno, end=Nessuno)

Restituisce un elenco di nomi di spazi dei nomi.

Argomenti

avvia

Se non None, restituisci solo nomi dello spazio dei nomi maggiori o uguali al valore specificato.

fine

Se non None, restituisci solo nomi dello spazio dei nomi inferiori al valore specificato.

get_kinds(start=Nessuno, end=Nessuno)

Restituisce un elenco di nomi dei tipi di entità.

Argomenti

avvia

Se non è None, restituisci solo nomi di tipo maggiori o uguali al valore specificato.

fine

Se non è None, restituisci solo nomi di tipo inferiori al valore specificato.

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

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

avvia

Se non None, restituisci solo nomi di proprietà maggiori o uguali al valore specificato.

fine

Se non None, restituisci solo nomi di proprietà inferiori al valore specificato.

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

Restituisce un dizionario che mappa ogni nome di proprietà indicizzata di un tipo specificato a un elenco delle sue rappresentazioni. Le proprietà non indicizzate non sono incluse.

Argomenti

kind

Il tipo di cui vengono richieste le rappresentazioni delle proprietà.

avvia

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

fine

Se non None, restituisci 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à __version__ numerica di cui è garantito un aumento a ogni modifica al gruppo di entità. La versione può aumentare anche in assenza di modifiche visibili all'utente per il gruppo di entità. L'entità __entity_group__ potrebbe non esistere se non è mai stato scritto il gruppo di entità.

Proprietà

versione
Il numero di versione

Metodo classe

key_for_entity(entity_or_key)
Restituisci la chiave dei metadati per il gruppo di entità contenente entity_or_key. Utilizza questa chiave come argomento per get() l'entità di 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 dello spazio dei nomi

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. Fanno 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 è invece 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 delle classi

La classe Namespace prevede i seguenti metodi:

key_for_namespace(spazio dei nomi)

Restituisce la chiave __namespace__ per lo spazio dei nomi specificato.

Argomento

spazio dei nomi

Lo spazio dei nomi di cui è richiesta la chiave.

key_to_namespace(chiave)

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

Argomento

chiave

La chiave di cui viene richiesto il nome.

La classe Kind

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 delle classi

La classe Kind prevede i seguenti metodi:

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(chiave)

Restituisce il tipo specificato da una chiave __kind__ specificata.

Argomento

chiave

La chiave di cui viene richiesto il tipo.

La classe della proprietà

La classe Property rappresenta un'entità di metadati del tipo speciale __property__, restituita come risultato di una query sulla proprietà. L'entità che rappresenta la proprietà P di tipo K si crea 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 delle classi

La classe Property prevede i seguenti metodi:

key_for_kind(kind)

Restituisce la chiave padre per __property__ chiavi del tipo specificato.

Argomento

kind

Il tipo di cui è 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(chiave)

Restituisce il tipo specificato da una chiave __property__ specificata.

Argomento

chiave

La chiave per cui è richiesto il nome del tipo.

key_to_property(chiave)

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

Argomento

chiave

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