Modulo google.appengine.api.datastore

Riepilogo

L'API Python del datastore utilizzata dagli sviluppatori di app.

Definisce le classi di entità, query e iteratori, oltre ai metodi per tutte le chiamate del datastore. Definisce inoltre le conversioni tra le classi Python e le relative controparti PB.

Gli errori del datastore sono definiti nel modulo datastore_errors. Questo modulo è necessario solo per evitare importazioni circolari. Il datastore importa tipi di datastore, il che richiede BadValueError, quindi non può essere definito in datastore.

Contenuti

google.appengine.api.datastore.AllocIds(model_key, size=None, **kwargs)origine

Alloca un intervallo di ID di dimensioni o con valore max per la chiave specificata.

Alloca un intervallo di ID nel datastore in modo che tali ID non vengano assegnati automaticamente alle nuove entità. Puoi allocare solo gli ID delle chiavi del modello dalla tua app. In caso di errore, viene visualizzata una sottoclasse di datastore_errors.Error.

È necessario fornire una dimensione o un valore massimo, ma non entrambi. Se la dimensione viene fornita, viene restituito un intervallo della dimensione specificata. Se viene fornito il valore massimo, viene restituito l'intervallo più ampio di ID che può essere utilizzato in sicurezza con un limite massimo (può essere un intervallo vuoto).

Max deve essere fornito solo se hai un intervallo ID numerico esistente che vuoi prenotare, ad esempio caricamento collettivo di entità che hanno già ID. Se non ti interessano gli ID che ricevi, utilizza le dimensioni.

Parametri
  • model_key - Chiave o stringa da utilizzare come modello che specifica la sequenza di ID in cui allocare gli ID

  • size: numero intero, numero di ID da allocare.

  • max - Numero intero, limite superiore dell'intervallo di ID da allocare.

  • config – Configurazione facoltativa da utilizzare per questa richiesta.

Restituisce

(inizio, fine) dell'intervallo allocato, inclusi.

google.appengine.api.datastore.AllocIdsAsync(model_key, size=None, **kwargs)source

Alloca in modo asincrono un intervallo di ID.

Identico a datastore.AldeployIds() restituisce un oggetto asincrono. Richiama get_result() sul valore restituito per bloccare la chiamata e ottenere i risultati.

google.appengine.api.datastore.CreateConfig(**kwds)origine

Creare un oggetto Configuration da utilizzare per la configurazione delle chiamate del datastore.

Questa configurazione può essere trasmessa alla maggior parte delle chiamate del datastore utilizzando l'argomento "config=".

Parametri
  • scadenza - Scadenza facoltativa; predefinita: nessuna (vale a dire che verrà utilizzata la scadenza predefinita del sistema, in genere 5 secondi).

  • on_completion - Funzione opzionale di callback; predefinita, nessuna. Se specificato, verrà richiamato con un oggetto UserRPC come argomento al termine di una RPC.

  • read_policy - Criterio di lettura facoltativo; impostato su EVENTUAL_CONSISTENCY per abilitare le letture alla fine coerenti (ovvero le letture che in alcuni casi potrebbero essere soddisfatte da una versione precedente del datastore). Il criterio di lettura predefinito potrebbe dover attendere fino al commit delle transazioni in corso.

  • **kwds – Altri argomenti delle parole chiave, purché siano supportati da datastore_rpc.Configuration().

Restituisce

Un'istanza datastore_rpc.Configuration.

google.appengine.api.datastore.CreateRPC(service='datastore_v3', expire=None, callback=None, read_policy=None)source

Crea un RPC da utilizzare per la configurazione delle chiamate del datastore.

NOTA: questa funzione esiste per la compatibilità con le versioni precedenti. Usa CreateCreate(). NOTA: la seconda utilizza 'on_completion', che è una funzione che accetta un argomento, mentre CreateRPC utilizza 'callback', che è una funzione senza argomenti.

Parametri
  • service – Stringa facoltativa; per la compatibilità con le versioni precedenti, deve essere "datastore_v3".

  • scadenza - Istanza o virgola mobile facoltativa, scadenza per le chiamate in secondi.

  • callback – Facoltativo richiamabile, un callback attivato quando viene completata questa RPC; non sono necessari argomenti.

  • read_policy - Criterio di lettura facoltativo; impostato su EVENTUAL_CONSISTENCY per abilitare le letture alla fine coerenti (ovvero le letture che in alcuni casi potrebbero essere soddisfatte da una versione precedente del datastore). Il criterio di lettura predefinito potrebbe dover attendere fino al commit delle transazioni in corso.

Restituisce

Un'istanza UserRPC.

google.appengine.api.datastore.CreateTransactionOptions(**kwds)origine

Creare un oggetto di configurazione da utilizzare per la configurazione delle transazioni.

Questa configurazione può essere trasmessa come primo argomento di run_in_transaction_option.

Parametri
  • scadenza - Scadenza facoltativa; predefinita: nessuna (vale a dire che verrà utilizzata la scadenza predefinita del sistema, in genere 5 secondi).

  • on_completion - Funzione opzionale di callback; predefinita, nessuna. Se specificato, verrà richiamato con un oggetto UserRPC come argomento al termine di una RPC.

  • xg – impostato su true per consentire le transazioni tra gruppi (solo datastore di replica elevata)

  • nuovi tentativi: imposta il numero di nuovi tentativi per una transazione

  • **kwds – Altri argomenti delle parole chiave, purché siano supportati da datastore_rpc.TransactionOptions().

Restituisce

Un'istanza datastore_rpc.TransactionOptions.

class google.appengine.api.datastore.DatastoreAdapter(_id_resolver=None)source

Basi: google.appengine.datastore.datastore_rpc.AbstractAdapter

Adattatore tra tipi di dati definiti qui (Entità, ecc.) e protobuf.

Consulta la classe base in datastore_rpc.py per altri documenti.

entità_to_pb(entity)source
index_direction_mappings = {1: 1, 2: 2}
index_state_mappings = {1: 0, 2: 1, 3: 2, 4: 3}
key_to_pb(chiave)origine
pb_to_entity(pb)origine
pb_to_index(pb)origine
pb_to_key(pb)origine
google.appengine.api.datastore.Delete(keys, **kwargs)origine

Elimina una o più entità dal datastore. Utilizzalo con cura.

Elimina le entità specificate dal datastore. Puoi eliminare solo entità dalla tua app. Se c'è un errore, viene generata una sottoclasse di datastore_errors.Error.

Parametri
  • la chiave primaria (#) -

  • Chiavi: chiave o stringa oppure elenco di chiavi o stringhe

  • config – La configurazione facoltativa da utilizzare per questa richiesta deve essere specificata come argomento della parola chiave.

Rialzi

TransactionFailedError, se non è stato possibile eseguire il commit dell'eliminazione.

google.appengine.api.datastore.DeleteAsync(keys, **kwargs)origine

Elimina in modo asincrono una o più entità dal datastore.

Identico a datastore.Delete(), tranne per il fatto che restituisce un oggetto asincrono. Richiama get_result() sul valore restituito per bloccare la chiamata.

class google.appengine.api.datastore.Entity(kind, parent=None, _app=None, name=None, id=None, unindexed_properties=[], spazio dei nomi=Nessuno, **kwds)source

Basi: dict

Un'entità datastore.

Include le funzioni di accesso di sola lettura per ID app, tipo e chiave primaria. Fornisce inoltre l'accesso in stile dizionario alle proprietà.

static FromPb(pb, valid_reservation_properties=True, default_kind='')sorgente

Metodo di fabbrica statico. Restituisce la rappresentazione dell'entità del buffer di protocollo specificato (datastore_pb.Entity).

Parametri
  • PB - datastore_pb.Entity o codifica str di un datastore_pb.Entity

  • valid_reservation_properties - obsoleto

  • default_kind: str, il tipo da utilizzare se il pb non ha una chiave.

Restituisce

la rappresentazione dell'entità dei pb,

Tipo restituito

Entità

ToPb()origine

Converte questa entità nella rappresentazione buffer di protocollo.

Restituisce

entità_pb.Entity

Origine ToXml()

Restituisce una rappresentazione XML di questa entità. Le proprietà Atom e gd:namespace vengono convertite in XML in base ai rispettivi schemi. Per ulteriori informazioni, consulta:

http://www.atomenabled.org/developers/syndication/ https://developers.google.com/gdata/docs/1.0/elements

Non è ottimizzata. Non deve essere utilizzato vicino al codice che è fondamentale per le prestazioni.

App()source

Restituisce il nome dell'applicazione che ha creato questa entità, una stringa o None se non è impostata.

copia()origine

Il metodo di copia non è supportato.

entità_group()origine

Restituisce il gruppo di entità di questa entità come chiave.

Tieni presente che la chiave restituita sarà incompleta se si tratta di un'entità root e la relativa chiave è incompleta.

is_projection()sorgente

Restituisce se questa entità è una proiezione dell'entità completa.

Le entità previste: - non possono contenere tutte le proprietà dell'entità originale; - possono contenere solo valori singoli per gli elenchi; - non possono contenere valori con lo stesso tipo dell'entità originale.

is_save()origine

Restituisce se questa entità è stata salvata nel datastore.

chiave()source

Restituisce la chiave primaria di questa entità, un'istanza chiave.

di tipo() origine

Restituisce il tipo di questa entità, una stringa.

namespace() origine

Restituisce lo spazio dei nomi di questa entità, una stringa o Nessuno.

padre()source

Restituisce la risorsa padre di questa entità, come chiave. Se questa entità non ha un elemento padre, restituisce Nessuno.

set_unindexed_properties(unindexed_properties)origine
setdefault(name, value)origine

Se la proprietà esiste, restituisce il valore. In caso contrario, imposta il valore.

Se il nome della proprietà è la stringa vuota o non è una stringa, solleva BadPropertyError. Se il valore non è di tipo supportato, solleva BadValueError.

proprietà [indexed_properties()]sorgente

Restituisce le proprietà non indicizzate di questa entità come un set bloccato di stringhe.

update(altro)source

Aggiorna le proprietà di questa entità dai valori di altri.

Se il nome di una qualsiasi proprietà è la stringa vuota o meno, genera BadPropertyError. Se un valore non è un tipo supportato, viene generato BadValueError.

google.appengine.api.datastore.Get(keys, **kwargs)source

Recupera una o più entità dal datastore.

Recupera l'entità o le entità con le chiavi specificate dal datastore e le restituisce come oggetti Entity completamente completati, come definito di seguito. Se si verifica un errore, viene generata una sottoclasse di datastore_errors.Error.

Se le chiavi sono una singola chiave o stringa, verrà restituita un'entità oppure verrà creata EntityNotFoundError se nessuna entità esistente corrisponde alla chiave.

Tuttavia, se le chiavi sono un elenco o una tupla, verrà restituito un elenco di entità corrispondente alla sequenza di chiavi. Include le entità per le chiavi che sono state trovate e Nessuno segnaposto per le chiavi che non sono state trovate.

Parametri
  • Chiavi: chiave o stringa oppure elenco di chiavi o stringhe

  • config – La configurazione facoltativa da utilizzare per questa richiesta deve essere specificata come argomento della parola chiave.

Restituisce

Entità o elenco di oggetti Entity

google.appengine.api.datastore.GetAsync(keys, **kwargs)origine

Recupera in modo asincrono una o più entità dal datastore.

Identico a datastore.Get(), tranne per il fatto che restituisce un oggetto asincrono. Richiama get_result() sul valore restituito per bloccare la chiamata e ottenere i risultati.

google.appengine.api.datastore.GetIndexes(**kwargs)fonte

Recupera gli indici dell'applicazione e i relativi stati.

Parametri

config – La configurazione facoltativa da utilizzare per questa richiesta deve essere specificata come argomento della parola chiave.

Restituisce

Un elenco di tupla (indice, indice.[BUILDING|SERVING|DELETING|ERROR]). Un indice può essere nei seguenti stati:

Index.BUILDING: l'indice è in fase di creazione e non è possibile pubblicare query Index.SERVING: l'indice è pronto per gestire le query Index.DELETING: l'indice è in fase di eliminazione Index.ERROR: l'indice ha riscontrato un errore nello stato COSTRUZIONE

google.appengine.api.datastore.GetIndexesAsync(**kwargs)fonte

Recupera in modo asincrono gli indici dell'applicazione e i relativi stati.

Identico a GetIndexes(), tranne per il fatto che restituisce un oggetto asincrono. Richiama get_result() sul valore restituito per bloccare la chiamata e ottenere i risultati.

google.appengine.api.datastore.GetRpcFromKwargs(kwargs, convert_rpc=False, config_class=google.appengine.datastore.datastore_rpc.Configuration)fonte

Recupera un oggetto Configuration dagli argomenti della parola chiave.

Si tratta di un semplice aiuto interno per le varie API pubbliche indicate di seguito, ad esempio Get().

Parametri
  • kwargs - Un ditta contenente gli argomenti delle parole chiave passati a un'API pubblica.

  • convert_rpc – Se un RPC deve essere convertito o trasmesso direttamente.

  • config_class: la classe di configurazione che deve essere generata.

Restituisce

Un'istanza UserRPC, un'istanza di configurazione o None.

Aumenta

TypeError se sono presenti argomenti di parole chiave imprevisti.

classgoogle.appengine.api.datastore.Index(index_id, type, has_ancestor, proprietà)source

Basi: google.appengine.api.datastore._BaseIndex

Un indice del datastore.

Origine HasAncestor()

Indica se si tratta di un indice predecessore, un valore booleano.

Id() origine

Restituisce l'ID indice, un lungo.

Source (Origine) Kind()

Restituisce il tipo di indice, una stringa. Stringa vuota ('') se non presente.

Proprietà()source

Restituisce le proprietà dell'indice. una tupla di (nome indice come stringa, [ASCending|DESCFINE]) tupla.

google.appengine.api.datastore.IsInTransaction()origine

Determina se la transazione è già in esecuzione nella transazione.

Restituisce

True se la transazione è già in esecuzione, altrimenti False.

classgoogle.appengine.api.datastore.Iterator(batcher)source

Basi: google.appengine.datastore.datastore_query.ResultsIterator

Wrapper sottile di datastore_query.ResultsIterator.

Deprecato, non utilizzare, solo per compatibilità con le versioni precedenti.

GetComiledCursor(query)source
GetIndexList() Origine

Restituisce l'elenco di indici utilizzati per eseguire la query.

indexlist_list()Origine

Restituisce l'elenco di indici utilizzati per eseguire la query.

class google.appengine.api.datastore.MultiQuery(bound_queries, Ordering)source

Basi: google.appengine.api.datastore.Query

Classe che rappresenta una query che richiede più query del datastore.

Questa classe è in effetti una sottoclasse di datastore.La query sta per agire come un normale oggetto Query (supportando la stessa interfaccia).

Non supporta le query relative solo alle chiavi, dato che sono necessarie entità intere per unirle. Questo non è vero se non ci sono ordini di ordinamento o se l'ordinamento è su __key__, ma l'autorizzazione delle chiavi solo in questi casi, ma non in altre, potrebbe creare confusione.

Count(limit=1000, **kwargs)origine

Restituisce il numero di entità corrispondenti per questa query.

Restituisce il conteggio dei duplicati deduplicato. Se viene impostato un limite, viene chiamata la funzione Get() più efficiente.

Parametri
  • limite: numero massimo di voci da conteggiare (per qualsiasi risultato > limite, restituzione

  • limite) –

  • config – Configurazione facoltativa da utilizzare per questa richiesta.

Restituisce

numero di voci restituite.

Get(limit, offset=0, **kwargs)origine

Ritirato, utilizza list(Run(...)).

Parametri
  • limit - int o long che rappresenta il numero massimo di entità da restituire.

  • offset: int o long che rappresenta il numero di entità da saltare

  • kwargs - Eventuali argomenti delle parole chiave accettati da datastore_query.QueryOptions().

Restituisce

Un elenco di entità con al massimo "limitazioni" (meno se la query viene completata prima di leggere i valori limite).

Origine GetCompiledCursor()
GetCompiledQuery()origine

Solo per uso interno, non utilizzare.

GetCursor()sorgente
GetIndexList()Origine
Run(**kwargs)origine

Restituisce un output iterabile con tutti i risultati in ordine.

Unisci i risultati. Prima crea un elenco di iteratori, quindi cammina con questi e ottieni i risultati in ordine.

Parametri

kwargs - Eventuali argomenti delle parole chiave accettati da datastore_query.QueryOptions().

Restituisce

Un iteratore per il set di risultati.

class OrdinaOrderEntity(entity_iterator, ordini)source

Basi: oggetto

Consenti il confronto delle entità utilizzando gli ordini forniti.

L'iteratore passato al costruttore viene infine consumato tramite chiamate a GetNext(), che generano nuovi OrdinaOrdinaEntity con gli stessi ordini.

source(CmpProperties)

Confrontare due entità e restituire l'ordine relativo.

Confronta se stesso con quello degli ordini di ordinamento correnti e degli ordini principali. Restituisce un valore negativo, 0 o positivo a seconda che il valore di se stesso sia minore, uguale o superiore. Questo confronto restituisce come tutti i valori devono essere posizionati in ordine crescente (ultimo valore più alto). Utilizza solo l'ordinamento per confrontare (ignora)

).

Parametri

that – OrdinaOrderEntity

Restituisce

Negativo se auto < questo zero se auto == quel Positivo se auto > che

GetEntity()origine

Recupera l'entità aggregata.

GetNext()origine

Aggrega e restituisci l'entità successiva.

L'entità viene recuperata dall'iteratore fornito al momento della costruzione.

google.appengine.api.datastore.NonTransactional(*args, **kwds)fonte

Un decorator che assicura una funzione viene eseguito al di fuori di una transazione.

In presenza di una transazione esistente (e allow_existing=True), la transazione esistente viene messa in pausa mentre viene eseguita la funzione.

Parametri
  • _func - non utilizzare

  • allow_esistenza – Se è false, genera un'eccezione se la chiamata viene effettuata dall'interno di una transazione

Restituisce

Un wrapper per la funzione decorata che garantisce l'esecuzione al di fuori di una transazione.

google.appengine.api.datastore.NormalizeAndTypeCheck(arg, tipi)origine

Normalizza e digita per controllare l'argomento specificato.

Parametri
  • arg: un'istanza o iterabile dei tipi specificati

  • tipi: tipo consentito o tupla di tipi

Restituisce

Una tupla (elenco, bool). L'elenco è una copia normalizzata e superficiale dell'argomento. Il valore booleano è Vero se l'argomento è una sequenza, False se si tratta di un singolo oggetto.

Aumenta
  • AssertionError: i tipi includono elenco o tupla.

  • BadArgumentError - L'argomento non è un'istanza o una sequenza di uno dei

  • tipi.

google.appengine.api.datastore.NormalizeAndTypeCheckKeys(keys)origine

Normalizza e digita i controlli per cui l'argomento specificato è una o più chiavi valide.

Wrapper intorno a NormalizeAndTypeCheck() che accetta stringhe, chiavi ed entità e normalizza per le chiavi.

Parametri

Chiavi: una chiave o una sequenza di chiavi

Restituisce

Una tupla (elenco di chiavi, bool). Vedi NormalizeAndTypeCheck.

Aumenta
  • BadArgumentError - L'argomento non è un'istanza o una sequenza di uno dei

  • tipi.

google.appengine.api.datastore.Put(entities, **kwargs)fonte

Archiviare una o più entità nel datastore.

Le entità potrebbero essere nuove o esistenti. Per le nuove entità, Put() inserirà l'ID e la chiave dell'app assegnati dal datastore.

Se l'argomento è una singola entità, verrà restituita una singola chiave. Se l'argomento è un elenco di entità, verrà restituito un elenco di chiavi.

Parametri
  • entità: entità o elenco di entità

  • config – La configurazione facoltativa da utilizzare per questa richiesta deve essere specificata come argomento della parola chiave.

Restituisce

Chiave o elenco di chiavi

Aumenta

TransactionFailedError, se non è stato possibile eseguire il commit del Put.

google.appengine.api.datastore.PutAsync(entities, **kwargs)fonte

Archiviare in modo asincrono una o più entità nel datastore.

Identico a datastore.Put(), tranne per il fatto che restituisce un oggetto asincrono. Richiama get_result() sul valore restituito per bloccare la chiamata e ottenere i risultati.

class google.appengine.api.datastore.Query(kind=None, filters={}, _app=None, Keys_only=False, compila=True, cursor=None, namespace=Nessuno, end_cursor=Nessuno, proiezione=Nessuno, distinto=Nessuno, _namespace=None)source

Basi: dict

Una query sul datastore.

(In alternativa, puoi utilizzare appengine.ext.gql.Query. Fornisce un'interfaccia di linguaggio di query in aggiunta alla stessa funzionalità.

Le query vengono utilizzate per recuperare entità che soddisfano determinati criteri, tra cui filtri per app, tipo e proprietà. I risultati possono anche essere ordinati per proprietà.

L'ID e il tipo dell'app sono obbligatori. Vengono restituite solo le entità dell'app specificata del tipo specificato. Se è impostato un predecessore, con Ancestor() vengono restituite solo le entità con tale predecessore.

I filtri delle proprietà vengono utilizzati per fornire criteri basati sui singoli valori delle proprietà. Un filtro confronta una proprietà specifica in ogni entità con un determinato valore o elenco di valori possibili.

Un'entità viene restituita se i suoi valori delle proprietà corrispondono a tutti i filtri della query. In altre parole, i filtri vengono combinati con AND, non con OR. Se un'entità non ha un valore per una proprietà utilizzata in un filtro, non viene restituita.

I filtri delle proprietà mappano le stringhe di filtro nel formato "<nome proprietà> <operatore>" per filtrare i valori. Utilizza le funzioni di accesso ai dizionari per impostare filtri delle proprietà, ad esempio:

> query = Query("Persona")

Questa query restituisce tutte le entità persona in cui la proprietà nome è "Ryan" e la proprietà relativa all'età è almeno 21.

Un altro modo per creare questa query è:

> query = Query("persona") > query.update({‘name =’: ‘Ryan’, ‘age >=’: 21})

Gli operatori supportati sono =, >, <, >= e <=. È possibile utilizzare un solo filtro di disuguaglianza per query. In una singola query è possibile utilizzare un numero qualsiasi di filtri di uguale.

Un valore del filtro può essere un elenco o una tupla di valori. Questo viene interpretato come più filtri con la stessa stringa di filtro e valori diversi, tutti uniti da AND. Ad esempio, questa query restituisce a tutti i tag con i tag "google" e "app Engine":

> Query("Person', {'tag =': ("google", 'app Engine')})

Le entità relative ai risultati possono essere restituite in ordini diversi. Utilizza il metodo Order() per specificare le proprietà in base alla quale verranno ordinati i risultati e in quale direzione.

Tieni presente che i filtri e gli ordini possono essere forniti in qualsiasi momento prima dell'esecuzione della query. Quando la query è completamente specificata, Run() esegue la query e restituisce un iteratore. Puoi accedere ai risultati della query tramite l'iteratore.

Un oggetto query può essere riutilizzato dopo essere stato eseguito. I filtri e gli ordini possono essere modificati per creare una query modificata.

Se sai quante entità dei risultati ti servono, usa Get() per recuperarle:

> query = Query("persona", {‘age >’: 21}) > per persona in query.Get(4): > stampa 'Ho ancora quattro pinte. Forza, %s! % persona[‘name’]

Se non sai di quanti risultati hai bisogno o se ne hai bisogno tutti, puoi recuperare un iteratore dei risultati chiamando Run():

> per la persona in query("persona", {‘age >’: 21}).Run(): > stampa 'Hai una pinta su di me, %s!' % persona['name']

Get() è più efficiente di Run(), quindi utilizza Get() quando possibile.

Infine, il metodo Count() restituisce il numero di entità dei risultati trovate come query. Il conteggio restituito viene memorizzato nella cache; le chiamate Count() successive non verranno sottoposte nuovamente a scansione nel datastore, a meno che la query non venga modificata.

ANCESTOR_FIRST = 2
Crescente = 1
Antenato(antenato)origine

Imposta un predecessore per questa query.

Questo limita la query in modo che restituisca solo le entità risultato generate da una determinata entità. In altre parole, tutti i risultati avranno l'antenato come padre, il genitore principale e così via.

Viene generato BadArgumentError o BadKeyError se l'elemento principale non è un'entità o una chiave esistenti nel datastore.

Parametri
  • la chiave deve essere completa (#) -

  • predecessore: entità o chiave

Restituisce

# questa query Query

Count(limit=1000, **kwargs)origine

Restituisce il numero di entità corrispondenti alla query.

Parametri
  • un numero o Nessuno. Se il numero di risultati è superiore a quello indicato, interrompi la durata breve (limit).

  • restituisci questo numero. Se fornisci questo argomento, il conteggio (e) –

  • più efficiente. (operazione) -

  • config – Configurazione facoltativa da utilizzare per questa richiesta.

Restituisce

Il numero di risultati.

DESCRIZIONE = 2
Filter_FIRST = 3
filter_REGEX = <_sre_SRE_Pattern oggetto>
Get(limit, offset=0, **kwargs)origine

Ritirato, utilizza list(Run(...)).

Parametri
  • limit - int o long che rappresenta il numero massimo di entità da restituire.

  • offset: int o long che rappresenta il numero di entità da saltare

  • kwargs - Eventuali argomenti delle parole chiave accettati da datastore_query.QueryOptions().

Restituisce

# un elenco di entità [Entità, ...]

Origine GetBatcher(config=None)

Esegue questa query e restituisce un datastore_query.Batcher.

Non deve essere utilizzato dagli sviluppatori di applicazioni. Usa Get().

Parametri

config – Configurazione facoltativa da utilizzare per questa richiesta.

Restituisce

# un iteratore che fornisce accesso ai risultati della query Iterator

Origine GetCompiledCursor()

Recupera il cursore dall'ultima esecuzione di questa query.

L'origine di questo cursore varia in base all'ultima chiamata:
  • Esegui: un cursore che punta subito dopo l'ultimo risultato rimosso dall'iteratore restituito.

  • Get: un cursore che punta subito dopo l'ultimo risultato nell'elenco restituito.

  • Conteggio: un cursore che punta subito dopo l'ultimo risultato conteggiato.

Restituisce

Un oggetto datastore_query.Cursor che può essere utilizzato nelle richieste di query successive.

Aumenta

AssertionError: la query non è stata ancora eseguita o non può essere compilata.

GetCompiledQuery()origine

Restituisce la rappresentazione solo di interno dell'ultima query eseguita.

Non utilizzare.

Aumenta

AssertionError - Query non compilata o non ancora eseguita.

GetCursor()sorgente

Recupera il cursore dall'ultima esecuzione di questa query.

L'origine di questo cursore varia in base all'ultima chiamata:
  • Esegui: un cursore che punta subito dopo l'ultimo risultato rimosso dall'iteratore restituito.

  • Get: un cursore che punta subito dopo l'ultimo risultato nell'elenco restituito.

  • Conteggio: un cursore che punta subito dopo l'ultimo risultato conteggiato.

Restituisce

Un oggetto datastore_query.Cursor che può essere utilizzato nelle richieste di query successive.

Aumenta

AssertionError: la query non è stata ancora eseguita o non può essere compilata.

Origine GetDistinct()

Restituisce True se l'istanza corrente è distinta.

Restituisce

Un valore booleano che indica se è stato impostato il flag distinto.

GetFilterPredicate()origine

Restituisce una datastore_query.FilterPredicate per l'istanza corrente.

Restituisce

datastore_query.FilterPredicate o Nessuno se non è impostato alcun filtro nella query attuale.

GetIndexList()Origine

Recupera l'elenco di indici dall'ultima esecuzione di questa query.

Restituisce

Un elenco di indici utilizzati dall'ultima esecuzione di questa query.

Aumenta

AssertionError: la query non è stata ancora eseguita.

GetOrder()origine

Visualizza una query datastore_query.Order per l'istanza corrente.

Restituisce

datastore_query.Order o None se non sono impostati ordini di ordinamento nella query corrente.

GetQuery()origine

Restituisce una datastore_query.Query per l'istanza corrente.

GetQueryOptions() sorgente

Restituisce una datastore_query.QueryOptions per l'istanza corrente.

Suggerimento(suggerimento)

Imposta un suggerimento per l'esecuzione di questa query.

Il suggerimento permette di fornirci informazioni su come eseguire al meglio la query. Al momento possiamo eseguire una sola scansione dell'indice, quindi il suggerimento relativo alle query dovrebbe essere utilizzato per indicare l'indice in base al quale eseguire la scansione.

Usa filter_FIRST se il primo filtro avrà una corrispondenza solo con alcuni risultati. In questo caso, sarà più efficiente eseguire una scansione sull'indice di questa proprietà, caricare i risultati in memoria e applicare i filtri rimanenti e ordinare gli ordini in questa proprietà.

Analogamente, utilizza ANCESTOR_FIRST se l'antenato della query ha solo pochi discendenti. In questo caso, sarà più efficiente eseguire la scansione di tutte le entità al di sotto dell'antenato e caricarle in memoria.

Utilizza ORDER_FIRST se la query ha un ordinamento e il set di risultati è grande o prevedi di recuperare i primi risultati. In questo caso, non dobbiamo cercare di caricare tutti i risultati in memoria, ma piuttosto l'indice di questa proprietà, che è in ordine.

Tieni presente che i suggerimenti vengono attualmente ignorati nel datastore v3.

Arco:

uno dei datastore.Query.[ORDER_FIRST, ANCESTOR_FIRST, filter_FIRST]

Restituisce

# questa query Query

INEQUALITY_OPERATORS =set bloccato([u'<=', u'>=', u'<', u'>'])
IsKeysOnly() sorgente

Restituisce True se questa query è solo chiavi, false in caso contrario.

OPERATORI = {u'>=': 4, '==': 5, u'<=': 2, u'=': 5, u'<': 1, u'>': 3}
ORDER_FIRST = 1
Origine ordine(*ordini)

Specifica come devono essere ordinati i risultati della query.

Le entità dei risultati verranno ordinate in base al primo argomento della proprietà, quindi alla seconda e così via. Ad esempio:

> query = Query("Persona")

ordina tutti in ordine di compleanno, a partire dal 1° gennaio. Le persone con lo stesso compleanno vengono ordinate per età, dal più vecchio al più giovane.

La direzione di ciascuna proprietà di ordinamento può essere fornita; se omessa, il valore predefinito è crescente.

Order() potrebbe essere chiamato più volte. Ogni chiamata reimposta l'ordinamento da zero.

Se in questa query è presente un filtro di disuguaglianza, deve essere la prima proprietà trasmessa all'ordine. Dopo la proprietà del filtro di disuguaglianza è possibile utilizzare un numero qualsiasi di ordini di ordinamento. Senza filtri di disuguaglianza, puoi specificare un numero qualsiasi di filtri con ordini diversi.

Le entità con più valori per una proprietà dell'ordine vengono ordinate in base al valore più basso.

Tieni presente che un ordinamento implica un filtro di esistenza. In altre parole, le entità senza la proprietà di ordinamento vengono filtrate e non vengono incluse nei risultati delle query.

Se la proprietà di ordinamento ha tipi diversi in entità diverse (ad esempio, se bob['id'] è un int e fred['id'] è una stringa), le entità verranno prima raggruppate per tipo di proprietà e poi ordinate in base al tipo. Non viene effettuato alcun tentativo di confrontare i valori delle proprietà tra i tipi.

Aumenta BadArgumentError se un argomento non è nel formato corretto.

Parametri
  • delle proprietà in base alla quale ordinare, ciascun argomento può essere un (#) –

  • string o (#) -

Restituisce

# questa query Query

Run(**kwargs)origine

Esegue questa query.

Se una stringa di filtro non è valida, viene generato il filtro BadFilterError. Se il valore di un filtro non è valido, genera BadValueError. Se viene fornito un filtro IN e viene ordinato un ordine su un'altra proprietà, viene restituito BadQueryError.

Se sai in anticipo quanti risultati vuoi, utilizza limit=#. È più efficiente.

Parametri

kwargs - Eventuali argomenti delle parole chiave accettati da datastore_query.QueryOptions().

Restituisce

# un iteratore che fornisce accesso ai risultati della query Iterator

MAIUSCBOUND_INEQUALITY_OPERATORS =set bloccato(['<=', '<'])
copia()origine

Il metodo di copia non è supportato.

setdefault(filter, value)origine

Se il filtro esiste, restituisce il valore. In caso contrario, imposta il valore.

Se il nome della proprietà è la stringa vuota o non è una stringa, solleva BadPropertyError. Se il valore non è di tipo supportato, solleva BadValueError.

update(altro)source

Aggiorna i filtri della query dagli altri.

Se una qualsiasi stringa di filtro non è valida, genera BadFilterError. Se un valore non è un tipo supportato, viene restituito BadValueError.

google.appengine.api.datastore.RunInReadOnlyTransaction(function, *args, **kwargs)origine

Esegue una funzione all'interno di una transazione di sola lettura del datastore.

Una transazione di sola lettura non può eseguire scritture, ma potrebbe essere in grado di eseguire in modo più efficiente.

Esegue la funzione fornita dall'utente in una transazione di sola lettura, riprova a eseguire il numero predefinito di volte.

Parametri
  • function: una funzione da eseguire all'interno della transazione su tutti gli argomenti rimanenti

  • *args - Argomenti posizionali per la funzione.

  • **kwargs – Argomenti delle parole chiave per la funzione.

Restituisce

l'eventuale valore restituito della funzione

Aumenta

TransactionFailedError, se non è stato possibile eseguire il commit della transazione.

google.appengine.api.datastore.RunInReadOnlyTransactionOptions(options, function, *args, **kwargs)source

Esegue una funzione all'interno di una transazione di sola lettura del datastore.

Una transazione di sola lettura non può eseguire scritture, ma potrebbe essere in grado di eseguire in modo più efficiente.

Come RunInTransactionOptions, ma con una transazione di sola lettura.

Parametri
  • options – TransactionOptions che specifica le opzioni (numero di nuovi tentativi ecc.) per questa transazione

  • function: una funzione da eseguire all'interno della transazione su tutti gli argomenti rimanenti *args: argomenti di posizione per la funzione. **kwargs: argomenti delle parole chiave per la funzione.

Restituisce

l'eventuale valore restituito della funzione

Aumenta

TransactionFailedError, se non è stato possibile eseguire il commit della transazione.

google.appengine.api.datastore.RunInTransaction(function, *args, **kwargs)origine

Esegue una funzione all'interno di una transazione datastore.

Esegue la funzione fornita dall'utente all'interno della transazione; riprova a eseguire l'operazione per un numero predefinito di volte.

Argomenti:
function: una funzione da eseguire nella transazione su tutte le funzioni rimanenti

argomenti

*args: argomenti posizionali per la funzione. **kwargs: argomenti delle parole chiave per la funzione.

Restituisce

l'eventuale valore restituito della funzione

Aumenta

TransactionFailedError, se non è stato possibile eseguire il commit della transazione.

google.appengine.api.datastore.RunInTransactionCustomRetries(prova, funzione, *args, **kwargs)origine

Esegue una funzione all'interno di una transazione datastore.

Esegue la funzione fornita dall'utente all'interno della transazione, con un numero specifico di nuovi tentativi.

Argomenti:

nuovi tentativi: numero di nuovi tentativi (senza contare la prova iniziale) funzione: una funzione da eseguire all'interno della transazione su tutti i rimanenti

argomenti

*args: argomenti posizionali per la funzione. **kwargs: argomenti delle parole chiave per la funzione.

Restituisce

l'eventuale valore restituito della funzione

Aumenta

TransactionFailedError, se non è stato possibile eseguire il commit della transazione.

google.appengine.api.datastore.RunInTransactionOptions(options, function, *args, **kwargs)source

Esegue una funzione all'interno di una transazione datastore.

Esegue la funzione fornita dall'utente all'interno di una transazione di datastore ACID con funzionalità complete. Ogni chiamata Put, Get ed Delete nella funzione viene effettuata all'interno della transazione. Tutte le entità coinvolte in queste chiamate devono appartenere allo stesso gruppo di entità. Le query sono supportate a condizione che specifichino un predecessore appartenente allo stesso gruppo di entità.

Gli argomenti finali vengono passati alla funzione come argomenti posizionali. Se la funzione restituisce un valore, questo verrà restituito da RunInTransaction. In caso contrario, restituirà None.

La funzione può causare un'eccezione per eseguire il rollback della transazione anziché eseguire il commit. In tal caso, la transazione verrà ripristinata e l'eccezione verrà rigenerata fino al chiamante di RunInTransaction.

Se vuoi eseguire il rollback intenzionalmente, ma non hai un'eccezione appropriata da creare, puoi creare un'istanza di datastore_errors.rollback. Verrà generato un rollback, ma non verrà aumentato di nuovo fino al chiamante.

La funzione può essere eseguita più di una volta, quindi deve essere idempotente. Dovrebbe evitare effetti collaterali e non deve avere effetti collaterali che non è sicuro che si verifichino più volte. Questo include la modifica degli argomenti, poiché rimangono attivi nelle chiamate della funzione. Tuttavia, ciò non include le chiamate Put, Get ed Delete,

Esempio di utilizzo:

> def decrement(key, amount=1): > contatore = datastore.Get(key) > contatore[‘count’] -= importo > se contatore [‘count’] < 0: # non lasciare che il contatore passi in negativo > aumentare datastore_errors.Rollback() > contatore .g.

Le transazioni soddisfano le tradizionali proprietà ACID. Sono:

  • Atomica. Tutte le operazioni di una transazione vengono eseguite o non vengono eseguite.

  • Coerenza. Lo stato del datastore è coerente prima e dopo un

transazione, sia che il commit o il rollback sia stato eseguito. Le varianti come "ogni entità ha una chiave primaria" vengono conservate.

  • Isolato. Le transazioni operano su uno snapshot del datastore. Altro

Le operazioni del datastore non vedono gli effetti intermedi della transazione, ma ne visualizzano gli effetti solo dopo che si è impegnata.

  • Durevole. Quando viene eseguito il commit, tutte le scritture vengono mantenute nel datastore.

Le transazioni nidificate non sono supportate.

Parametri
  • options – TransactionOptions che specifica le opzioni (numero di nuovi tentativi ecc.) per questa transazione

  • function: una funzione da eseguire all'interno della transazione su tutti gli argomenti rimanenti *args: argomenti di posizione per la funzione. **kwargs: argomenti delle parole chiave per la funzione.

Restituisce

l'eventuale valore restituito della funzione

Aumenta

TransactionFailedError, se non è stato possibile eseguire il commit della transazione.

google.appengine.api.datastore.Transactional(_func=None, **kwargs)origine

Un decorator che garantisce che una funzione venga eseguita in una transazione.

La propagazione dei valori predefiniti a datastore_rpc.TransactionOptions.ALLOWED, il che significa che qualsiasi transazione esistente verrà utilizzata al posto di crearne una nuova.

AVVISO: durante la transazione, la lettura dal datastore non noterà alcuna modifica apportata nella stessa transazione. Se la funzione decorata è basata sulla visualizzazione di tutte le modifiche apportate allo spuntino di chiamata, imposta propagation=datastore_rpc.TransactionOptions.NESTED.

Parametri
  • _func – non utilizzare.

  • **kwargs – Opzioni di configurazione TransactionOptions.

Restituisce

Un wrapper per la funzione specificata che crea una nuova transazione, se necessario.