Pacchetto google.appengine.ext.db
Riepilogo
Livello di astrazione del database semplice basato su schema per il datastore.
Ispirato al livello di astrazione di Django sopra i database SQL, http://www.djangoproject.com/documentation/mode_api/. Il nostro è un po' più semplice e molto meno codice perché il datastore è molto più semplice rispetto ai database SQL.
Il modello di programmazione prevede di dichiarare le sottoclassi Python della classe Model, dichiarando le proprietà del datastore come membri di quella classe. Pertanto, se vuoi pubblicare una storia con titolo, corpo e data di creazione, procedi come segue:
- class Story(db.Modello):
-
title = db.StringProperty() body = db.TextProperty() creato = db.DateTimeProperty(auto_now_add=True)
Puoi creare una nuova storia nel datastore con questo modello di utilizzo:
storia = Storia(title='Il mio titolo') story.body = 'Il mio corpo' story.put()
Puoi eseguire query per le entità Story utilizzando interfacce delle query integrate che mappano direttamente la sintassi e la semantica del datastore:
storie = Story.all().filter("date >=', ieri).order('-date') per la storia nelle storie:
stampa storia.titolo
Le dichiarazioni della proprietà applicano i tipi eseguendo la convalida al momento dell'assegnazione. Ad esempio, la proprietà DateTimeProperty impone l'assegnazione di oggetti timestamp validi e, se fornisci l'opzione "obbligatorio" per una proprietà, non puoi assegnare Nessuno a questa proprietà.
Supportiamo anche i riferimenti tra i modelli, quindi se una storia ha commenti, la rappresenteresti in questo modo:
- class Comment(db.Model):
-
story = db.referenceProperty(Story) body = db.TextProperty()
Quando esci una storia dal datastore, il riferimento della storia viene risolto automaticamente la prima volta che vi viene fatto riferimento, il che semplifica l'utilizzo di istanze del modello senza eseguire ulteriori query manualmente:
commento = Comment.get(key) stampa del commento.story.title
Analogamente, puoi accedere all'insieme di commenti che fanno riferimento a ciascuna storia tramite questa proprietà tramite un riferimento inverso chiamato commento_set, che è una query preconfigurata per restituire tutti i commenti corrispondenti:
storia = Story.get(key) per il commento in story.comment_set:
stampa commento.body
Moduli secondari |
|
---|---|
google.appengine.ext.db.metadata |
Modelli e funzioni di supporto per l'accesso ai metadati del datastore dell'app. |
google.appengine.ext.db.polymodel |
Supporto per query e modelli polimorfi. |
google.appengine.ext.db.stats |
Modelli da utilizzare per accedere alle statistiche sull'utilizzo del datastore specifiche dell'app. |
Sommario
- class google.appengine.ext.db.BlobProperty(*args, **kwds)source
-
Basi: google.appengine.ext.db.UnindexedProperty
Una stringa di byte che può superare i 1500 byte.
- tipo_dati
-
alias di blob
- class google.appengine.ext.db.BooleanProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db.Property
Una proprietà booleana.
- tipo_dati
-
alias di bool
- source(vuoto)
La proprietà booleana è vuota.
Il valore False non è vuoto.
RestituisceVero se il valore è Nessuno, in caso contrario Falso.
- convalida(valore)origine
Convalida booleano.
RestituisceUn valore valido.
AumentaBadValueError se la proprietà non è un'istanza di "bool".
- class google.appengine.ext.db.ByteStringProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db.Property
Una breve stringa di byte (<=1500 byte).
Utilizza questo tipo per valori binari brevi che devono essere indicizzati. Se non hai bisogno di indicizzazione (indipendentemente dalla lunghezza), utilizza BlobProperty.
- MAX_LENGTH = 1500
- tipo_dati
-
alias di ByteString
- convalida(valore)origine
Convalida la proprietà ByteString.
RestituisceUn valore valido.
AumentaBadValueError se la proprietà non è un'istanza di "ByteString".
- class google.appengine.ext.db.CategoryProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db._CoercingProperty
Una proprietà i cui valori sono Istanze di categoria.
- tipo_dati
-
alias di categoria
- class google.appengine.ext.db.ComputedProperty(value_function, index=True)Fonte
Basi: google.appengine.ext.db.Property
Proprietà utilizzata per la creazione di proprietà da altri valori.
Alcuni attributi non devono mai essere impostati dagli utenti, ma sono calcolati automaticamente in fase di runtime da altri valori della stessa entità. Questi valori sono implementati come proprietà permanenti perché forniscono chiavi di ricerca utili.
Una proprietà calcolata si comporta come le proprietà normali ad eccezione del fatto che non puoi impostarvi valori. Se provi a farlo, viene sollevato db.DerivedPropertyError che db.Model sa ignorare durante il tempo di caricamento dell'entità. Ogni volta che getattr viene utilizzato per la proprietà, il valore viene ricalcolato. Questo accade quando il modello chiama get_value_for_datastore sulla proprietà.
Esempiostringa di importazione
class Person(Modello):
name = StringProperty(required=True)
@db.ComputedProperty def_meno_nome_caso(self):
Restituisce self.name.lower()
# Trova tutte le persone indipendentemente dal nome utilizzato. Person.gql(WHERE Lower_case_name=:1' % name_to_search_for.lower())
- exception google.appengine.ext.db.ConfigurationErrororigine
-
Basi: google.appengine.api.datastore_errors.Error
Aumentato quando una proprietà o un modello vengono configurati in modo errato.
- class google.appengine.ext.db.DateProperty(verbose_name=None, auto_now=False, auto_now_add=False, **kwds)source
-
Basi: google.appengine.ext.db.DateTimeProperty
Una proprietà di data, che memorizza una data senza un'ora.
- tipo_dati
-
alias di data
- get_updated_value_for_datastore(model_instance)origine
Ottieni un nuovo valore per la proprietà da inviare al datastore.
Restituiscenow() in base all'istanza di data nel caso dispari in cui auto_now è impostato su True, altrimenti AUTO_UPDATE_UNCHANGED.
- get_value_for_datastore(model_instance)origine
-
Ottieni valore dalla proprietà da inviare al datastore.
Recuperiamo un valore date.date dall'istanza modello e restituiamo un'istanza timestamp.ora con il tempo impostato su zero.
Per informazioni dettagliate, consulta la documentazione sul metodo della classe base.
- make_value_from_datastore(value)origine
-
Rappresentazione nativa di questa proprietà.
Riceviamo un valore timestamp.timestamp recuperato dall'entità e restituiamo un'istanza timestamp.date che rappresenta la parte di data.
Per informazioni dettagliate, consulta la documentazione sul metodo della classe base.
- statica now()source
Visualizza ora come valore di data e ora.
Restituisce"date" solo in "date".
- convalida(valore)origine
Convalida data.
RestituisceUn valore valido.
Aumenta-
BadValueError se la proprietà non è un'istanza di "date",
-
oppure un'istanza di "timestamp" (che è una sottoclasse
-
di "date", ma per scopi pratici un tipo diverso).
-
- class google.appengine.ext.db.DateTimeProperty(verbose_name=None, auto_now=False, auto_now_add=False, **kwds)origine
-
Basi: google.appengine.ext.db.Property
La classe base di tutte le nostre proprietà data/ora.
Gestiamo operazioni comuni, come la conversione tra tuple temporali e istanze di data e ora.
- tipo_dati
-
alias di data e ora
- valore_predefinito()origine
Valore predefinito per la data e l'ora.
Restituiscevalue of now() in base all'istanza data-ora se è impostato auto_now o auto_now_add, altrimenti l'utente ha configurato l'implementazione del valore predefinito.
- get_updated_value_for_datastore(model_instance)origine
Ottieni un nuovo valore per la proprietà da inviare al datastore.
Restituiscenow() in base all'istanza data-ora nel caso dispari in cui auto_now è impostato su True, altrimenti AUTO_UPDATE_UNCHANGED.
- statica now()source
Visualizza ora come valore di data e ora completo.
Restituisce"ora" come timestamp completo, inclusi ora e data.
- convalida(valore)origine
Convalida data e ora.
RestituisceUn valore valido.
AumentaBadValueError se la proprietà non è un'istanza di "timestamp".
- exception google.appengine.ext.db.DerivedPropertyErrorsorgente
-
Basi: google.appengine.api.datastore_errors.Error
Aumentata quando si cerca di assegnare un valore a una proprietà derivata.
- exception google.appengine.ext.db.DuplicaPropertyErrororigine
-
Basi: google.appengine.api.datastore_errors.Error
Aumentato quando una proprietà viene duplicata in una definizione di modello.
- class google.appengine.ext.db.EmailProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db._CoercingProperty
Una proprietà i cui valori sono Istanze email.
- tipo_dati
-
alias di Email
- class google.appengine.ext.db.Expando(parent=None, key_name=None, _app=None, **kwds)source
Basi: google.appengine.ext.db.Model
Modello espandibile in modo dinamico.
Un'estensione non richiede (ma può comunque trarre vantaggio) dalla definizione di qualsiasi proprietà prima che possa essere utilizzata per archiviare informazioni nel datastore. Le proprietà possono essere aggiunte a un oggetto espandibile eseguendo semplicemente un'assegnazione. L'assegnazione delle proprietà avviene in base all'istanza, quindi è possibile che un oggetto di un tipo di espansione abbia proprietà diverse da un'altra o addirittura le stesse proprietà con tipi diversi. È comunque possibile definire le proprietà in un'espansione, consentendo alle proprietà di comportarsi come qualsiasi altro modello.
Esempiodata/ora importazione
- class Song(db.Expando):
-
title = db.StringProperty()
- crazy = Song(title='Crazy come un diamante',
-
author='Lucy Sky', Publish_date=yesterday, rating=5.0)
- hoboken = Song(title='The man from Hoboken',
-
author=["Anthony", "Lou"], Publish_date=timestamp.timestamp(1977, 5, 3))
crazy.last_minute_note=db.Text("Porta un treno alla stazione").
Possibili utilizzi:
L'uso di un'espansione consiste nel creare un oggetto senza una struttura specifica e in un secondo momento, quando l'applicazione è matura e nello stato corretto, modificarla in un normale oggetto modello e definire le proprietà esplicite.
Ulteriori eccezioni per l'espansione:
Gli attributi protetti (ovvero i cui nomi iniziano con "_") non possono essere utilizzati come proprietà dinamiche. Questi sono nomi riservati per gli attributi temporanei protetti (non persistenti).
Ordine di ricerca:
Quando si cerca di impostare o accedere a un valore dell'attributo, tutte le altre proprietà definite, come metodi e altri valori in __dict__, hanno la precedenza sui valori nel datastore.
- 1 - Perché non è possibile per il datastore sapere quale tipo di
-
per archiviare un valore Espandio non definito, impostare una proprietà su Nessuno equivale a eliminarla dall'espansione.
- 2 - Le variabili persistenti su Espandio non devono iniziare con "_". Queste
-
considerate "protette" in Python e utilizzate internamente.
- 3 - Le proprietà dinamiche di Espandio non sono in grado di archiviare elenchi vuoti.
-
Se provi ad assegnare un elenco vuoto a una proprietà dinamica, verrà attivato ValueValue. Le proprietà statiche su Espandio possono comunque supportare elenchi vuoti, ma come le normali proprietà del modello è limitato l'uso di Nessuno.
- proprietà_dinamica()sorgente
Determina quali proprietà sono specifiche per l'istanza dell'entità.
RestituisceInsieme di nomi che corrispondono solo alle proprietà dinamiche.
- class google.appengine.ext.db.FloatProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db.Property
Una proprietà floating.
- tipo_dati
-
alias di floating
- source(vuoto)
La proprietà in virgola mobile è vuota.
0,0 non è un valore vuoto.
RestituisceVero se il valore è Nessuno, in caso contrario Falso.
- convalida(valore)origine
Convalida il numero in virgola mobile.
RestituisceUn valore valido.
AumentaBadValueError se la proprietà non è un'istanza di " floating".
- class google.appengine.ext.db.GeoPtProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db._CoercingProperty
Una proprietà i cui valori sono istanze GeoPt.
- tipo_dati
-
alias di GeoPt
- class google.appengine.ext.db.GqlQuery(query_string, *args, **kwds)source
-
Basi: google.appengine.ext.db._BaseQuery
Una classe di query che utilizza la sintassi delle query GQL anziché .filter() e così via.
- bind(*args, **kwds)source
associare argomenti (posizione o parola chiave) alla query.
Tieni presente che puoi anche passare gli argomenti direttamente al costruttore della query. Ogni volta che chiami bind() l'insieme di argomenti precedente viene sostituito con il nuovo insieme. Ciò è utile perché l'analisi richiede molto lavoro. Pertanto, se prevedete di utilizzare la stessa query con diversi insiemi di argomenti, dovreste mantenere l'oggetto GqlQuery() e chiamarvi bind() ogni volta.
Parametri-
*args - Argomenti di posizione utilizzati per associare riferimenti numerici nella query.
-
**kwds – Argomenti basati sul dizionario per i riferimenti denominati.
-
- is_distinct()source
- is_keys_only()sorgente
- proiezione()origine
- run(**kwargs)origine
Iteratore per questa query che gestisce la proprietà della clausola LIMIT.
Se la stringa di query GQL contiene una clausola LIMIT, questa funzione recupera tutti i risultati prima di restituire un iteratore. Altrimenti, i risultati vengono recuperati in batch dall'iteratore.
Parametrikwargs - Eventuali argomenti delle parole chiave accettati da datastore_query.QueryOptions().
RestituisceIteratore di questa query.
- class google.appengine.ext.db.IMProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db._CoercingProperty
Una proprietà i cui valori sono istanze IM.
- tipo_dati
-
alias di Messaggistica immediata
- class google.appengine.ext.db.Index(index_id, type, has_ancestor, proprietà)source
-
Basi: google.appengine.api.datastore._BaseIndex
Un indice del datastore.
- has_ancestor() origine
-
Indica se si tratta di un indice predecessore, un valore booleano.
- id() source
-
Restituisce l'ID indice, un lungo.
- () di tipo
-
Restituisce il tipo di indice, una stringa. Stringa vuota ('') se non presente.
- proprietà()sorgente
-
Restituisce le proprietà dell'indice. una tupla di (nome indice come stringa, [ASCending|DESCFINE]) tupla.
- class google.appengine.ext.db.IntegerProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=None, indicizzate=True)source
-
Basi: google.appengine.ext.db.Property
Una proprietà intera.
- tipo_dati
-
alias di int
- source(vuoto)
La proprietà è un numero intero vuoto.
0 non è un valore vuoto.
RestituisceVero se il valore è Nessuno, in caso contrario Falso.
- convalida(valore)origine
Convalida la proprietà del numero intero.
RestituisceUn valore valido.
AumentaBadValueError se il valore non è un numero intero o un'istanza lunga.
- google.appengine.ext.db.KEY_RANGE_COLLISION = 'Collision'fonte
-
Indica che le entità con chiavi all'interno dell'intervallo di chiavi specificato esistono già e la scrittura in questo intervallo sovrascriverà queste entità. Si applicano anche le implicazioni di KEY_RANGE_COLLISION. Se le sovrascritture esistenti in questo intervallo sono accettabili, puoi utilizzare l'intervallo specificato in sicurezza.
L'allocatore di ID automatico del datastore non assegnerà mai una chiave a una nuova entità che sovrascriverà un'entità esistente, quindi le entità scritte dall'utente in questo intervallo non verranno mai sovrascritte da un'entità con una chiave assegnata automaticamente.
- google.appengine.ext.db.KEY_RANGE_CONTENTION = 'Contention'fonte
-
Indica che l'intervallo di chiavi specificato è vuoto, ma l'allocatore di ID automatico del datastore può assegnare nuove chiavi di entità in questo intervallo. Tuttavia, è sicuro assegnare manualmente le chiavi in questo intervallo se una delle seguenti condizioni è vera:
-
Nessun'altra richiesta inserirà entità con lo stesso tipo e padre dell'intervallo di chiavi specificato fino a quando tutte le entità con chiavi assegnate manualmente da questo intervallo non saranno state scritte.
-
Sovrascrivere le entità scritte da altre richieste dello stesso tipo e padre dell'intervallo di chiavi specificato è accettabile.
L'allocatore automatico dell'ID del datastore non assegnerà una chiave a una nuova entità che sovrascriverà un'entità esistente, quindi una volta che l'intervallo è completato non ci sarà più alcuna concisione.
-
- google.appengine.ext.db.KEY_RANGE_EMPTY = 'Empty'source
-
Indica che l'intervallo di chiavi specificato è vuoto e l'allocatore di ID automatico del datastore non assegnerà le chiavi in questo intervallo alle nuove entità.
- exception google.appengine.ext.db.KindErrorsource
-
Basi: google.appengine.api.datastore_errors.BadValueError
Aumentato quando un'entità viene utilizzata con il modello errato.
- class google.appengine.ext.db.LinkProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db._CoercingProperty
Una proprietà i cui valori sono Istanze link.
- tipo_dati
-
alias di link
- convalida(valore)origine
- class google.appengine.ext.db.ListProperty(item_type, verbose_name=None, default=None, write_empty_list=None, **kwds)source
-
Basi: google.appengine.ext.db.Property
Una proprietà che memorizza un elenco di elementi,
Questa è una proprietà parametrizzata; il parametro deve essere un tipo di dati non in elenco valido e tutti gli elementi devono essere conformi a questo tipo.
- tipo_dati
-
alias di elenco
- valore_predefinito()origine
Valore predefinito per l'elenco.
Poiché la proprietà fornita a "default" è un valore statico, tale valore deve essere copiato in modo superficiale per impedire che tutti i campi con valori predefiniti condividano la stessa istanza.
RestituisceCopia del valore predefinito.
- source(vuoto)
La proprietà elenco è vuota.
[] non è un valore vuoto.
RestituisceVero se il valore è Nessuno, in caso contrario falso.
- get_value_for_datastore(model_instance)origine
Ottieni valore dalla proprietà da inviare al datastore.
Restituiscel'elenco convalidato appropriato per salvare nel datastore.
- make_value_from_datastore(value)origine
-
Rappresentazione nativa di questa proprietà.
Se si tratta di un elenco che contiene timestamp.date o timestamp.time, viene convertito dall'entità recuperato dall'entità in timestamp.date o timestamp.time.
Per informazioni dettagliate, consulta la documentazione sul metodo della classe base.
- make_value_from_datastore_index_value(index_value)origine
- convalida(valore)origine
Convalida elenco.
RestituisceUn valore valido.
Aumenta-
BadValueError se la proprietà non è un elenco i cui elementi sono istanze di
-
il valore di item_type assegnato al costruttore.
-
- valid_list_contents(valore)origine
Convalida che tutti gli elementi nell'elenco sono del tipo corretto.
RestituisceL'elenco convalidato.
Aumenta-
BadValueError se l'elenco contiene elementi che non sono istanze di
-
item_type assegnato al costruttore.
-
- class google.appengine.ext.db.Model(parent=None, key_name=None, _app=None, _from_entity=False, **kwds)source
-
Basi: oggetto
Il modello è la superclasse di tutte le entità dell'oggetto nel datastore.
Il modello di programmazione prevede di dichiarare le sottoclassi Python della classe Model, dichiarando le proprietà del datastore come membri di quella classe. Pertanto, se vuoi pubblicare una storia con titolo, corpo e data di creazione, procedi come segue:
- class Story(db.Modello):
-
title = db.StringProperty() body = db.TextProperty() creato = db.DateTimeProperty(auto_now_add=True)
Un'istanza di modello può avere un unico elemento padre. Le istanze modello senza alcun elemento padre sono entità radice. È possibile eseguire query sulle istanze in modo efficiente dal proprio genitore condiviso. Tutti i discendenti di una singola istanza radice si comportano anche come un gruppo di transazioni. Ciò significa che quando lavori per un membro del gruppo all'interno di una transazione, tutti i discendenti di quella radice entrano nella transazione. Tutte le operazioni all'interno di una transazione su questo gruppo sono ACID.
- classmethod all(**kwds)origine
Restituisce una query su tutte le istanze di questo modello dal datastore.
RestituisceQuery che recupererà tutte le istanze dalla raccolta di entità.
- delete(**kwargs)origine
Elimina questa entità dal datastore.
Parametriconfig – datastore_rpc.Configuration da utilizzare per questa richiesta.
AumentaTransactionFailedError se non è stato possibile eseguire il commit dei dati.
- proprietà_dinamica()sorgente
-
Restituisce un elenco di tutte le proprietà dinamiche definite ad esempio.
- classmethod entity_type()source
-
Presto sarà rimosso l'alias.
- classmethod fields()source
-
L'alias delle proprietà verrà presto rimosso.
- classmethod from_entity(entity)source
Converte la rappresentazione dell'entità di questo modello in un'istanza.
Converte l'istanza datastore.Entity in un'istanza cls.
Parametrientità: entità caricata direttamente dal datastore.
AumentaKindError quando cls non è un modello corretto per l'entità.
- classmethod get(keys, **kwargs)source
Recupera l'istanza dal datastore di un tipo di modello specifico utilizzando la chiave.
Supportiamo oggetti chiave e chiavi stringa (li convertiamo automaticamente in oggetti chiave).
Utile per garantire che tipi di istanze specifici vengano recuperati dal datastore. Inoltre, il codice sorgente indica chiaramente che tipo di oggetto viene recuperato. Esempio:
storia = Storia.get(chiave_storia)
Parametri-
Chiavi: chiave all'interno della raccolta di entità del datastore da trovare oppure chiave della stringa oppure elenco di chiavi o chiavi della stringa.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta.
un'istanza di modello associata alla chiave per la classe fornita se esiste nel datastore, altrimenti Nessuno. Se è stato fornito un elenco di chiavi: elenco in cui elenco[i] è l'istanza del modello per le chiavi[i] o Nessuno se non esiste alcuna istanza.
Tipo restituitoSe è stata fornita una singola chiave
Aumenta-
KindError se uno degli oggetti recuperati non è istanze di
-
Tipo associato alla chiamata a "get".
-
- classmethod get_by_id(ids, parent=None, **kwargs)source
Recupero istanza della classe Model per ID.
Parametri-
key_names - Un singolo ID o un elenco di ID.
-
parent: elemento padre delle istanze da ottenere. Può essere un modello o una chiave.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta.
-
- classmethod get_by_key_name(key_names, parent=None, **kwargs)source
Recupera l'istanza della classe Model in base al nome della chiave.
Parametri-
key_names - Un singolo nome chiave o un elenco di nomi di chiavi.
-
parent: elemento padre delle istanze da ottenere. Può essere un modello o una chiave.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta.
-
- classmethod get_or_insert(key_name, **kwds)source
Recupera o crea un'istanza di classe Model.
Il comportamento è molto simile a quello del metodo Python default setdefault(), in cui proviamo prima a recuperare un'istanza modello con il nome chiave e l'elemento padre specificati. Se non è presente, creiamo una nuova istanza (utilizzando *kwds fornito) e la inseriamo con il nome della chiave fornito.
Le chiamate successive a questo metodo con lo stesso key_name e padre avranno sempre la stessa entità (anche se non la stessa istanza effettiva dell'oggetto), a prescindere dal valore *kwds fornito. Se l'entità specificata è stata in qualche modo eliminata separatamente, la chiamata successiva creerà una nuova entità e la restituirà.
Se viene fornito l'argomento parola chiave "principale", deve essere un'istanza di modello. Verrà utilizzato come padre della nuova istanza di questa classe modello se ne viene creata una.
Questo metodo è particolarmente utile per avere una sola entità univoca per un identificatore specifico. L'inserimento/il recupero viene eseguito a livello di transazione, il che garantisce l'unicità.
Esempio di utilizzo:
- class WikiTopic(db.Model):
-
Creation_date = db.DatetimeProperty(auto_now_add=True) body = db.TextProperty(required=True)
# La prima volta che creiamo il nuovo argomento. wiki_word = 'CommonIdioms' argomento = WikiTopic.get_or_insert(wiki_word,
body='Questo argomento è completamente nuovo!')
scoperta di topic.key().name() == 'CommonIdioms' afferma topic.body == 'Questo argomento è completamente nuovo'
# La seconda volta andrà a recuperare l'entità. sovrascrivere_argomento = WikiTopic.get_or_insert(wiki_word,
body='Un messaggio totalmente diverso!')
scoperta di topic.key().name() == 'CommonIdioms' afferma topic.body == 'Questo argomento è completamente nuovo'
Parametri-
key_name – Nome della chiave per recuperare o creare.
-
**kwds – Argomenti delle parole chiave da passare al costruttore della classe del modello se non esiste già un'istanza per il nome della chiave specificata. Se esiste già un'istanza con il key_name e l'elemento padre forniti, il resto di questi argomenti verrà eliminato.
Istanza della classe Model esistente con la chiave_nome e l'elemento padre specificati o una nuova appena creata.
Aumenta-
TransactionFailedError se non è stato possibile assegnare l'istanza del modello specificata
-
il recupero o la creazione di transazioni (a causa di un'elevata contenzione ecc.).
- classmethod gql(query_string, *args, **kwds)source
Restituisce una query utilizzando la stringa di query GQL.
Per ulteriori informazioni su GQL, consulta appengine/ext/gql.
Parametri-
query_string: stringa query GQL formattata correttamente con la parte "SELECT * FROM <entity>";" omessa
-
*args - Gli argomenti posizionali utilizzati per associare riferimenti numerici nella query.
-
**kwds – Argomenti basati sul dizionario (per i parametri denominati).
-
- has_key() source
Determina se questa istanza del modello ha una chiave completa.
Se non utilizzi una chiave completamente assegnata autonomamente, gli ID non vengono assegnati finché i dati non vengono salvati in Datastore, ma le istanze con un nome chiave hanno sempre una chiave completa.
RestituisceVero se l'oggetto è stato mantenuto al datastore o ha una chiave o ha un key_name, altrimenti False.
- instance_properties() sorgente
-
Alias per dyanmic_properties.
- is_save()origine
Determina se l'entità è presente in modo permanente nel datastore.
Le nuove istanze di Model non vengono salvate nei dati. Gli oggetti salvati o caricati da Datastore avranno uno stato True salvato.
RestituisceVero se l'oggetto è stato mantenuto al datastore, altrimenti è falso.
- chiave()source
Chiave univoca per questa entità.
Questa proprietà è disponibile solo se questa entità è già archiviata nel datastore o se ha una chiave completa, quindi è disponibile se questa entità è stata recuperata da una query o dopo che il metodo put() viene chiamato la prima volta per le nuove entità o se viene fornita una chiave completa al momento della creazione.
RestituisceChiave Datastore dell'entità permanente.
AumentaNotSavedError quando l'entità non è permanente.
- classmethod kind()source.
-
Restituisce il tipo di datastore che utilizziamo per questo modello.
Per il momento utilizziamo solo il nome del modello, ignorando potenziali collisioni.
- padre()source
Recupera l'istanza padre dell'istanza del modello.
RestituiscePrincipale dell'entità contenuta o principale fornita nel costruttore, Nessuna se l'istanza non ha padre.
- parent_key() sorgente
Prendi la chiave del genitore.
Questo metodo è utile per evitare un potenziale recupero dal datastore, ma per recuperare informazioni sulle istanze padre.
RestituisceChiave padre dell'entità: nessuna, se non c'è alcuna chiave principale.
- classmethod properties()source
-
Restituisce un dizionario di tutte le proprietà definite per questo modello.
- Put(**kwargs)fonte
Scrive questa istanza modello nel datastore.
Se questa istanza è nuova, aggiungiamo un'entità al datastore. Altrimenti, aggiorneremo questa istanza e la chiave rimarrà la stessa.
Parametriconfig – datastore_rpc.Configuration da utilizzare per questa richiesta.
RestituisceLa chiave dell'istanza (la chiave esistente o una nuova chiave).
AumentaTransactionFailedError se non è stato possibile eseguire il commit dei dati.
- salva(**kwargs)sorgente
Scrive questa istanza modello nel datastore.
Se questa istanza è nuova, aggiungiamo un'entità al datastore. Altrimenti, aggiorneremo questa istanza e la chiave rimarrà la stessa.
Parametriconfig – datastore_rpc.Configuration da utilizzare per questa richiesta.
RestituisceLa chiave dell'istanza (la chiave esistente o una nuova chiave).
AumentaTransactionFailedError se non è stato possibile eseguire il commit dei dati.
- to_xml(_entity_class=google.appengine.api.datastore.Entity)origine
-
Genera una rappresentazione XML di questa istanza del modello.
Le proprietà atom e gd:namespace vengono convertite in XML in base ai rispettivi schemi. Per ulteriori informazioni, vedi:
http://www.atomenabled.org/developers/syndication/ https://developers.google.com/gdata/docs/1.0/elements
- exception google.appengine.ext.db.NotSavedErrororigine
-
Basi: google.appengine.api.datastore_errors.Error
Aumentato quando viene eseguita un'azione dell'oggetto salvato su un oggetto non salvato.
- class google.appengine.ext.db.PhoneNumberProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db._CoercingProperty
Una proprietà i cui valori sono istanze PhoneNumber.
- tipo_dati
-
alias di numero di telefono
- class google.appengine.ext.db.postalAddressProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db._CoercingProperty
Una proprietà i cui valori sono istanze postalAddress.
- tipo_dati
-
alias di postalAddress
- class google.appengine.ext.db.PropertiedClass(nome, basi, dct, map_kind=True)source
-
Basi: tipo
Meta-classe per l'inizializzazione delle proprietà delle classi Model.
Utilizzato per inizializzare le proprietà definite nel contesto di un modello. Utilizzando una meta-classe, gran parte della configurazione di un descrittore della proprietà diventa implicita. Utilizzando questa meta-class, i descrittori che appartengono al modello di classe ricevono una notifica relativa alla classe a cui appartengono e all'attributo a cui sono associati e possono eseguire l'inizializzazione appropriata tramite __property_config__.
Non sono consentite proprietà duplicate.
- class google.appengine.ext.db.Property(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: oggetto
Una proprietà è un attributo di un modello.
Definisce il tipo di attributo, che determina come viene archiviato nel datastore e come vengono convalidati i valori della proprietà. Tipi di proprietà diversi supportano opzioni diverse che modificano le regole di convalida, i valori predefiniti e così via. L'esempio più semplice di una proprietà è una StringProperty:
- class Story(db.Modello):
-
title = db.StringProperty()
- creazione_contatore = 41
- tipo_dati
-
alias di str
- datastore_type()origine
-
È stato ritirato il metodo di accesso compatibile con le versioni precedenti per self.data_type.
- valore_predefinito()origine
Valore predefinito per i valori non assegnati.
RestituisceValore predefinito fornito da __init__(predefinito).
- source(vuoto)
Determina se il valore è vuoto nel contesto di questa proprietà.
Per la maggior parte dei tipi questo equivale a "non valore", ma per tipi come bool il test è più sottile, quindi le sottoclassi possono sostituire questo metodo, se necessario.
Parametrivalue - Valore da convalidare in base a questa proprietà.
RestituisceTrue se questo valore è considerato vuoto nel contesto di questo tipo di proprietà, altrimenti False.
- get_updated_value_for_datastore(model_instance)origine
Determina il nuovo valore per la proprietà aggiornata automaticamente.
Alcune proprietà (ad esempio, DateTimeProperty, UserProperty) aggiornano facoltativamente il valore su ogni Put(). Questa chiamata deve restituire il nuovo valore desiderato per queste proprietà. Per tutte le altre proprietà, questa chiamata deve restituire AUTO_UPDATE_UNCHANGED.
Parametrimodel_instance - Istanza per cui ottenere un nuovo valore.
RestituisceRappresentazione Datastore del nuovo valore del modello in un formato appropriato per l'archiviazione nel datastore o AUTO_UPDATE_UNCHANGED.
- get_value_for_datastore(model_instance)origine
Rappresentazione Datastore di questa proprietà.
Cerca questa proprietà nell'istanza del modello specificata e restituisce la rappresentazione datastore corretta del valore che può essere archiviato in un'entità datastore. Soprattutto, recupera il valore della chiave del datastore per le proprietà di riferimento.
Alcune proprietà (ad esempio, DateTimeProperty, UserProperty) aggiornano facoltativamente il valore su ogni Put(). Questa chiamata deve restituire il valore corrente per queste proprietà (get_updated_value_for_datastore restituisce il nuovo valore).
Parametrimodel_instance: istanza da cui recuperare il valore del datastore.
RestituisceRappresentazione Datastore del valore del modello in un formato appropriato per l'archiviazione nel datastore.
- make_value_from_datastore(value)origine
Rappresentazione nativa di questa proprietà.
Dato un valore recuperato da un'entità datastore, restituisci un valore, possibilmente convertito, da archiviare nell'istanza del modello. Di solito restituisce il valore invariato, ma una classe di proprietà può sostituire questo valore quando utilizza un tipo di dati diverso nell'istanza del modello rispetto all'entità.
Questa API non è abbastanza simmetrica con get_value_for_datastore(), perché l'istanza di modello in cui archiviare il valore convertito potrebbe non esistere ancora: potremmo raccogliere dati da trasmettere a un costruttore di modelli.
Parametrivalue - valore recuperato dall'entità datastore.
RestituisceIl valore convertito per l'uso come attributo di istanza del modello.
- make_value_from_datastore_index_value(index_value)origine
- convalida(valore)origine
Dichiarare che il valore fornito è compatibile con questa proprietà.
Parametrivalue - Valore da convalidare in base a questa proprietà.
RestituisceUn valore valido, ovvero l'input invariato o adattato al tipo richiesto.
Aumenta-
BadValueError se il valore non è appropriato per questa situazione
-
in qualsiasi modo.
-
- exception google.appengine.ext.db.PropertyErrororigine
-
Basi: google.appengine.api.datastore_errors.Error
Aumentato quando viene fatto riferimento a una proprietà inesistente.
- class google.appengine.ext.db.Query(model_class=None, key_only=False, cursor=None, namespace=Nessuno, _app=None, distinto=False, proiezione=None)source
-
Basi: google.appengine.ext.db._BaseQuery
Un'istanza di query esegue query sulle istanze di modelli.
Per creare una query con una classe del modello, ad esempio:
- class Story(db.Modello):
-
title = db.StringProperty() date = db.DateTimeProperty()
query = Query(storia)
Puoi modificare una query con filtri e ordini come i seguenti:
query.filter('title =', 'Foo') query.order('-date') query.ancestor(key_or_model_instance)
Ogni query può restituire un iteratore, quindi puoi accedere ai risultati di una query eseguendo l'iterazione:
- per la storia nella query:
-
stampa storia.titolo
Per comodità, tutti i metodi di filtro e ordinamento restituiscono un elemento "self", quindi il modo più semplice per utilizzare l'interfaccia query è inserire tutti i filtri e gli ordini nell'elemento pubblicitario dell'iteratore in questo modo:
- per la storia in Query(story).filter("title =", "Foo").order('-date'):
-
stampa storia.titolo
- predecessore(antenato)origine
Imposta un predecessore per questa query.
Questo limita la query in modo che restituisca solo i risultati che provengono da una data istanza del modello. In altre parole, tutti i risultati avranno l'antenato come padre oppure il genitore principale e così via. Anche l'antenato è un possibile risultato!
Parametripredecessore: modello o chiave (già salvati)
RestituisceSupporto per il concatenamento dei metodi.
Aumenta-
TypeError se l'argomento non è una chiave o un modello; NotSavedError
-
In caso affermativo, ma non è stato ancora salvato.
-
- filter(property_operator, value)sorgente
Aggiungi il filtro alla query.
Parametri-
property_operator – stringa con la proprietà e l'operatore in base a cui filtrare.
-
value: il valore del filtro.
Supporto per il concatenamento dei metodi.
AumentaPropertyError se viene specificata una proprietà non valida.
-
- is_distinct()source
- is_keys_only()sorgente
- ordine(proprietà) sorgente
Imposta l'ordine del risultato della query.
Per utilizzare l'ordine decrescente, anteponi "-" (meno) al nome della proprietà, ad esempio "-date" anziché "date".
Parametriproprietà – Proprietà su cui ordinare.
RestituisceSupporto per il concatenamento dei metodi.
AumentaPropertyError se viene specificata una proprietà non valida.
- proiezione()origine
- class google.appengine.ext.db.RatingProperty(verbose_name=None, name=None, default=None, required=False, Validation=None, Choices=Nessuno, indicizzato=True)source
-
Basi: google.appengine.ext.db._CoercingProperty, google.appengine.ext.db.IntegerProperty
Una proprietà i cui valori sono Istanze di valutazione.
- tipo_dati
-
alias di valutazione
- google.appengine.ext.db.Riferimento
-
alias di RiferimentiProperty
- class google.appengine.ext.db.referenceProperty(reference_class=None, verbose_name=None, collection_name=None, **attrs)source
-
Basi: google.appengine.ext.db.Property
Una proprietà che rappresenta un riferimento "one-to-one" a un altro modello.
Ad esempio, una proprietà di riferimento nel modello A che fa riferimento al modello B forma una relazione "one-to-one" da A a B: ogni istanza di A si riferisce a una singola istanza B e ogni istanza B può avere più istanze A a cui fare riferimento.
- get_value_for_datastore(model_instance)origine
-
Recupera la chiave di riferimento anziché il riferimento stesso.
- make_value_from_datastore_index_value(index_value)origine
- convalida(valore)origine
Convalida riferimento.
RestituisceUn valore valido.
AumentaBadValueError per i seguenti motivi – - Il valore non è stato salvato. - Oggetto del tipo di modello non corretto per riferimento.
- exception google.appengine.ext.db.PrenotaWordErrorsource
-
Basi: google.appengine.api.datastore_errors.Error
Aumentato quando una proprietà viene definita per una parola riservata.
- google.appengine.ext.db.Selfreference(verbose_name=None, collection_name=None, **attrs)source
Creare un riferimento personale.
Funzione per dichiarare una proprietà autoreferenziale su un modello.
Esempio- class HtmlNode(db.Model):
-
principale = db.SelfreferenceProperty("Genitore", "bambino")
-
verbose_name: nome della proprietà facile da usare.
-
collection_name – Nome della raccolta sul modello.
ConfigurationError se riferimento_classe fornito come parametro.
- google.appengine.ext.db.SelfreferenceProperty(verbose_name=None, collection_name=None, **attrs)source
Creare un riferimento personale.
Funzione per dichiarare una proprietà autoreferenziale su un modello.
Esempio- class HtmlNode(db.Model):
-
principale = db.SelfreferenceProperty("Genitore", "bambino")
-
verbose_name: nome della proprietà facile da usare.
-
collection_name – Nome della raccolta sul modello.
ConfigurationError se riferimento_classe fornito come parametro.
- class google.appengine.ext.db.StringListProperty(verbose_name=None, default=None, write_empty_list=None, **kwds)source
-
Basi: google.appengine.ext.db.ListProperty
Una proprietà in cui è presente un elenco di stringhe.
Un'abbreviazione del tipo più comune di ListProperty.
- class google.appengine.ext.db.StringProperty(verbose_name=None, multiline=False, **kwds)source
-
Basi: google.appengine.ext.db.Property
Una proprietà di testo, che può essere su più righe o su una sola riga.
- MAX_LENGTH = 1500
- tipo_dati
-
alias di basestring
- convalida(valore)origine
Convalida la proprietà della stringa.
RestituisceUn valore valido.
AumentaBadValueError se la proprietà non è su più righe, ma il valore lo è.
- class google.appengine.ext.db.TextProperty(*args, **kwds)source
-
Basi: google.appengine.ext.db.UnindexedProperty
Una stringa che può superare i 1500 byte.
- tipo_dati
-
alias di testo
- class google.appengine.ext.db.TimeProperty(verbose_name=None, auto_now=False, auto_now_add=False, **kwds)source
-
Basi: google.appengine.ext.db.DateTimeProperty
Una proprietà di tempo, che memorizza un orario senza una data.
- tipo_dati
-
alias di tempo
- source(vuoto)
La proprietà time è vuota.
"0:0" (mezzanotte) non è un valore vuoto.
RestituisceVero se il valore è Nessuno, in caso contrario Falso.
- get_updated_value_for_datastore(model_instance)origine
Ottieni un nuovo valore per la proprietà da inviare al datastore.
Restituiscenow() in modo appropriato per l'istanza temporale nel caso dispari in cui auto_now è impostato su True, altrimenti AUTO_UPDATE_UNCHANGED.
- get_value_for_datastore(model_instance)origine
-
Ottieni valore dalla proprietà da inviare al datastore.
Recuperiamo un'attributo timestamp.time dall'istanza del modello e restituiamo un'istanza x.timestamp con la data impostata su 1/1/1970.
Per informazioni dettagliate, consulta la documentazione sul metodo della classe base.
- make_value_from_datastore(value)origine
-
Rappresentazione nativa di questa proprietà.
Riceviamo un valore timestamp.timestamp recuperato dall'entità e restituiamo un'istanza timestamp.date che rappresenta la sua parte temporale.
Per informazioni dettagliate, consulta la documentazione sul metodo della classe base.
- statica now()source
Visualizza ora come valore di data e ora.
Restituiscesolo "tempo" di "ora".
- google.appengine.ext.db.URLProperty
-
alias di LinkProperty
- class google.appengine.ext.db.UnindexedProperty(*args, **kwds)source
-
Basi: google.appengine.ext.db.Property
Una proprietà che non viene indicizzata da indici integrati o compositi.
TextProperty e BlobProperty derivano da questa classe.
- convalida(valore)origine
Convalida proprietà.
RestituisceUn valore valido.
AumentaBadValueError se la proprietà non è un'istanza di data_type.
- class google.appengine.ext.db.UserProperty(verbose_name=None, name=None, required=False, Validation=None, Choices=None, auto_current_user=False, auto_current_user_add=False, indicizzato=True)source
-
Basi: google.appengine.ext.db.Property
Una proprietà utente.
- tipo_dati
-
alias di utente
- valore_predefinito()origine
Valore predefinito per l'utente.
RestituisceValore di users.get_current_user() se è impostato auto_current_user o auto_current_user_add; altrimenti Nessuno. Tuttavia, non è l'implementazione predefinita, poiché non supportiamo l'argomento "default" della parola chiave.
- get_updated_value_for_datastore(model_instance)origine
Ottieni un nuovo valore per la proprietà da inviare al datastore.
RestituisceValore di users.get_current_user() se auto_current_user è impostato; altrimenti AUTO_UPDATE_UNCHANGED.
- convalida(valore)origine
Convalida utente.
RestituisceUn valore valido.
AumentaBadValueError se la proprietà non è un'istanza di "User".
- google.appengine.ext.db.allocal_id_range(model, start, end, **kwargs)origine
Alloca un intervallo di ID con endpoint specifici.
Una volta assegnati, questi ID possono essere forniti manualmente alle nuove entità create.
Dato che l'allocatore automatico dell'ID del datastore non assegnerà mai una chiave a una nuova entità che comporterà la sovrascrittura di un'entità esistente, le entità scritte nell'intervallo di chiavi specificato non verranno mai sovrascritte. Tuttavia, la scrittura di entità con chiavi assegnate manualmente in questo intervallo può sovrascrivere entità esistenti (o nuove entità scritte da una richiesta separata) a seconda dello stato dell'intervallo di chiavi restituito.
Questo metodo deve essere utilizzato 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 il valore deploy_id.
Parametri-
model - Istanza modello, chiave o stringa da utilizzare come modello specificando la sequenza di ID in cui allocare gli ID. Gli ID assegnati devono essere utilizzati solo in entità con la stessa entità (se presente) e di tipo di questa chiave.
-
start – primo ID dell'intervallo da includere, inclusi.
-
end: ultimo ID dell'intervallo da allocare, compreso.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta.
Uno di (KEY_RANGE_EMPTY, KEY_RANGE_CONTENTION, KEY_RANGE_COLLISION). Se non lo è KEY_RANGE_EMPTY, significa che potrebbe esserci un problema relativo all'uso dell'intervallo di chiavi allocato.
-
- google.appengine.ext.db.allocate_ids(modello, dimensioni, **kwargs)origine
Alloca un intervallo di ID delle dimensioni per model_key definite dal modello.
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.
Parametri-
model - Istanza modello, chiave o stringa da utilizzare come modello specificando la sequenza di ID in cui allocare gli ID. Gli ID restituiti devono essere utilizzati solo in entità con lo stesso elemento padre (se presente) e di tipo come questa chiave.
-
size - Numero di ID da allocare.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta.
(inizio, fine) dell'intervallo allocato, inclusi.
-
- google.appengine.ext.db.allocate_ids_async(modello, dimensioni, **kwargs)origine
-
Alloca in modo asincrono un intervallo di ID.
Identico all'allocazione_id() restituisce un oggetto asincrono. Richiama get_result() sul valore restituito per bloccare la chiamata e restituire il risultato.
- google.appengine.ext.db.check_reservation_word(attr_name)source
Imposta un'eccezione se il nome dell'attributo è una parola riservata.
Parametriattr_name - Nome per verificare se è una parola riservata.
AumentaConfidentialWordError quando attr_name è una parola riservata.
- google.appengine.ext.db.class_for_kind(kind)source (Fonte)
Restituisce la classe base responsabile dell'implementazione del tipo.
Necessario per recuperare la classe responsabile dell'implementazione del tipo fornito.
Parametritype: stringa del tipo di entità.
RestituisceImplementazione dei corsi per tipo.
AumentaKindError quando non è disponibile alcun tipo di implementazione.
- google.appengine.ext.db.create_rpc(deadline=None, callback=None, read_policy=0)source
Crea un RPC da utilizzare per la configurazione delle chiamate del datastore.
NOTA: questa funzione esiste per la compatibilità con le versioni precedenti. Utilizza create_config(). NOTA: la seconda utilizza 'on_completion', che è una funzione che usa un argomento, mentre create_rpc utilizza 'callback', che è una funzione senza argomenti.
Parametri-
scadenza: numero in virgola mobile, scadenza per le chiamate in secondi.
-
callback – richiamabile, un callback attivato quando viene completato questo rpc, accetta un argomento: il rpc restituito.
-
read_policy - flag impostato su EVENTUAL_CONSISTENCY per abilitare letture infine coerenti
Un'istanza datastore.DatastoreRPC.
-
- google.appengine.ext.db.delete(models, **kwargs)origine
Elimina una o più istanze del modello.
Parametri-
modelle: istanza del modello, chiave, stringa di chiave o codice iterabile.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta, deve essere specificato come argomento della parola chiave.
TransactionFailedError se non è stato possibile eseguire il commit dei dati.
-
- google.appengine.ext.db.delete_async(modelli, **kwargs)origine
-
Versione asincrona di una o più istanze del modello.
Identico a db.delete(), tranne che restituisce un oggetto asincrono. Richiama get_result() sul valore restituito per bloccare la chiamata.
- google.appengine.ext.db.get(keys, **kwargs)fonte
Recupera dall'archivio dati l'istanza modello specifica con la chiave specificata.
Supportiamo oggetti chiave e chiavi stringa (li convertiamo automaticamente in oggetti chiave).
Parametri-
Chiavi: chiave all'interno della raccolta di entità del datastore da trovare oppure chiave della stringa oppure elenco di chiavi o chiavi della stringa.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta, deve essere specificato come argomento della parola chiave.
-
Restituisce – Se è stata fornita una singola chiave: un'istanza di modello associata alla chiave se esiste nel datastore, altrimenti Nessuno. Se è stato fornito un elenco di chiavi: elenco in cui elenco[i] è l'istanza del modello per le chiavi[i] o Nessuno se non esiste alcuna istanza.
-
- google.appengine.ext.db.get_async(keys, **kwargs)fonte
-
Recupera in modo asincrono le istanze modello specificate dal datastore.
Identico a db.get(), tranne che restituisce un oggetto asincrono. Richiama get_result() sul valore restituito per bloccare la chiamata e ottenere i risultati.
- google.appengine.ext.db.get_indexes(**kwargs)fonte
Recupera gli indici dell'applicazione e i relativi stati.
Parametriconfig – datastore_rpc.Configuration da utilizzare per questa richiesta, deve essere specificato 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.ext.db.get_indexes_async(**kwargs)fonte
-
Recupera in modo asincrono gli indici dell'applicazione e i relativi stati.
Identico a get_indexes(), 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.ext.db.model_from_protobuf(pb, _entity_class=google.appengine.api.datastore.Entity)source
Decodifica un'istanza modello da un buffer di protocollo.
Parametripb: la rappresentazione del buffer di protocollo dell'istanza del modello. Può essere una entità_pb.EntityProto o la codifica str di un entità_bp.EntityProto
RestituisceIstanza modello risultante dalla decodifica del buffer di protocollo
- google.appengine.ext.db.model_is_projection(model_instance)origine
-
Restituisce true se l'istanza db.Model fornita contiene solo una proiezione dell'intera entità.
- google.appengine.ext.db.model_to_protobuf(model_instance, _entity_class=google.appengine.api.datastore.Entity)source
Codifica un'istanza modello come buffer di protocollo.
Parametrimodel_instance – Istanza modello da codificare.
RestituisceRappresentazione entità_pb.EntityProto dell'istanza modello
- google.appengine.ext.db.put(models, **kwargs)fonte
Archiviare una o più istanze del modello.
Parametri-
modelle: istanza di modello o elenco di istanze di modello.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta, deve essere specificato come argomento della parola chiave.
Una chiave se i modelli sono un'istanza, un elenco di chiavi nello stesso ordine dei modelli se i modelli sono un elenco.
AumentaTransactionFailedError se non è stato possibile eseguire il commit dei dati.
-
- google.appengine.ext.db.put_async(models, **kwargs)fonte
-
Archiviare in modo asincrono una o più istanze del modello.
Identico a db.put(), 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.ext.db.query_descendants(model_instance)origine
Restituisce una query per tutti i discendenti di un'istanza modello.
Parametrimodel_instance - Istanza modello per trovare i discendenti di.
RestituisceQuery che recupererà tutte le entità con l'istanza di modello specificata
come predecessore. A differenza delle normali query degli antenati, ciò non include l'antenato stesso.
- google.appengine.ext.db.save(models, **kwargs)fonte
Archiviare una o più istanze del modello.
Parametri-
modelle: istanza di modello o elenco di istanze di modello.
-
config – datastore_rpc.Configuration da utilizzare per questa richiesta, deve essere specificato come argomento della parola chiave.
Una chiave se i modelli sono un'istanza, un elenco di chiavi nello stesso ordine dei modelli se i modelli sono un elenco.
AumentaTransactionFailedError se non è stato possibile eseguire il commit dei dati.
-
- google.appengine.ext.db.to_dict(modello_istanza, dizionario=Nessuno)origine
Converti il modello in dizionario.
Parametri-
model_instance - Istanza modello per cui creare il dizionario.
-
dizionario: ditta l'istanza o è compatibile per ricevere valori del modello. I valori originali del dizionario non sono stati cancellati. Analogamente all'utilizzo di dizionario.update. Se il dizionario è Nessuno, viene creata e restituita una nuova istanza di dizionario.
Nuovo dizionario appropriato con valori di istanze modello se l'entità è Nessuno, altro.
-