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.
(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().
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.
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().
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.
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.
la rappresentazione dell'entità dei pb,
Tipo restituito-
- ToPb()origine
Converte questa entità nella rappresentazione buffer di protocollo.
Restituisceentità_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.
- static FromPb(pb, valid_reservation_properties=True, default_kind='
- 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.
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.
Parametriconfig – La configurazione facoltativa da utilizzare per questa richiesta deve essere specificata come argomento della parola chiave.
RestituisceUn 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.
Un'istanza UserRPC, un'istanza di configurazione o None.
AumentaTypeError 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.
- 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.
RestituisceTrue 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.
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().
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.
Parametrikwargs - Eventuali argomenti delle parole chiave accettati da datastore_query.QueryOptions().
RestituisceUn 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)
).
Parametrithat – OrdinaOrderEntity
RestituisceNegativo 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
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
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.
ParametriChiavi: una chiave o una sequenza di chiavi
RestituisceUna 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.
Chiave o elenco di chiavi
AumentaTransactionFailedError, 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
# 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.
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().
# 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().
Parametriconfig – 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.
-
Un oggetto datastore_query.Cursor che può essere utilizzato nelle richieste di query successive.
AumentaAssertionError: 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.
AumentaAssertionError - 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.
-
Un oggetto datastore_query.Cursor che può essere utilizzato nelle richieste di query successive.
AumentaAssertionError: la query non è stata ancora eseguita o non può essere compilata.
- Origine GetDistinct()
Restituisce True se l'istanza corrente è distinta.
RestituisceUn valore booleano che indica se è stato impostato il flag distinto.
- GetFilterPredicate()origine
Restituisce una datastore_query.FilterPredicate per l'istanza corrente.
Restituiscedatastore_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.
RestituisceUn elenco di indici utilizzati dall'ultima esecuzione di questa query.
AumentaAssertionError: la query non è stata ancora eseguita.
- GetOrder()origine
Visualizza una query datastore_query.Order per l'istanza corrente.
Restituiscedatastore_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]
# 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 (#) -
# 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.
Parametrikwargs - 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.
l'eventuale valore restituito della funzione
AumentaTransactionFailedError, 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.
l'eventuale valore restituito della funzione
AumentaTransactionFailedError, 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.
l'eventuale valore restituito della funzione
AumentaTransactionFailedError, 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.
l'eventuale valore restituito della funzione
AumentaTransactionFailedError, 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.
l'eventuale valore restituito della funzione
AumentaTransactionFailedError, 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.
Un wrapper per la funzione specificata che crea una nuova transazione, se necessario.
-