Un'istanza della classe Key
rappresenta una classe immutabile
Chiave Datastore.
In questa pagina è disponibile la documentazione di riferimento dell'API. Per una panoramica, consulta Entità e chiavi dell'NDB.
Introduzione
Una chiave è una chiave Datastore immutabile. Le applicazioni normalmente le usano per inviare referral
alle entità. Qualsiasi entità archiviata ha una chiave. Per ottenere il valore
utilizza la chiave del modello
proprietà.
Per recuperare un'entità dalla relativa chiave, chiama Key
il metodo get() dell'oggetto.
Le chiavi supportano i confronti, ad esempio
key1 == key2
o
key1 < key2
.
Questi operatori confrontano l'ID applicazione, lo spazio dei nomi
"percorso predecessore". Usano lo stesso ordinamento utilizzato da Datastore
per le query durante l'ordinamento per proprietà della chiave o per chiave.
repr(key)
o
Resi in str(key)
è una rappresentazione stringa simile
la forma costruttore più breve, omettendo l'app e lo spazio dei nomi
a meno che non siano diversi dal valore predefinito.
hash(key)
funziona. Di conseguenza, puoi archiviare le chiavi
una tabella hash.
Costruttori
Per flessibilità e convenienza, vengono utilizzate più firme del costruttore supportati.
- class Key(kind1, id1, kind2, id2, ...)
- class Key(coppie=[(kind1, id1), (kind2, id2), ...])
- class Key(flat=[kind1, id1, kind2, id2, ...])
- class Key(urlsafe=string)
-
Gli argomenti posizionali kind1, id1, kind2, id2... sono in "predecessore" ordine. Questa è una scorciatoia per
flat=[kind1, id1, kind2, id2]
) I genitori vengono prima dei bambini.Argomenti della posizione,
pairs
eflat
possono passare anche in un'altra utilizzando parent=key. Le coppie (kind, id) della chiave padre sono inserita prima delle coppie (kind, id) passati in modo esplicito.Il parametro parola chiave
urlsafe
utilizza un modello serializzato con codifica Websafe-base64 riferimento ma è meglio pensarla come un sistema unico opaco stringa.Ulteriori argomenti delle parole chiave del costruttore:
- app
- specifica l'ID applicazione (una stringa) .
- spazio dei nomi
- specifica lo spazio dei nomi (una stringa)
Metodi di istanza che non interessano il datastore
I seguenti metodi accedono ai contenuti di una chiave. Non in qualsiasi attività di Datastore I/O.
- pairs()
-
Restituisce una tupla di coppie (kind, id).
- flat()
-
Restituisce una tupla di valori di tipo e ID appiattiti (kind1, id1, type2, id2, ...).
- app()
-
Restituisce l'ID applicazione.
- id()
-
Restituisce la stringa o l'ID intero nell'ultima coppia (kind, id), o
None
se la chiave è incompleta. - string_id()
-
Restituisce l'ID stringa nell'ultima coppia (kind, id), o
None
se la chiave ha un ID intero o è incompleta. - integer_id()
-
Restituisce l'ID intero nell'ultima coppia (kind, id), o
None
se la chiave ha un ID stringa o è incompleta. - namespace()
-
Restituisce lo spazio dei nomi.
- kind()
-
Restituisce il tipo nell'ultima coppia (kind, id).
- parent()
-
Restituisce una chiave creata da tutte le coppie tranne l'ultima (kind, id) (o
None
se la chiave ha una sola coppia (kind, id). - urlsafe()
-
Restituisce una versione serializzata della chiave codificata in websafe-base64.
Nota: La stringa sicura per l'URL sembra crittografica, ma non è crittografata. Può essere facilmente decodificato per recuperare il tipo e identificativo dell'utente.
- to_old_key()
-
Restituisce un
Key
per i "vecchi" API Datastore (db
).
Metodi di istanza che interessano il datastore
Questi metodi interagiscono con Datastore.
- get(**ctx_options)
-
Restituisce l'entità per la chiave.
Argomenti
- **ctx_options
- Opzioni di contesto
- get_async(**ctx_options)
-
Restituisce un
Future
il cui risultato finale l'entità per la chiave.Argomenti
- **ctx_options
- Opzioni di contesto
- delete(**ctx_options)
-
Elimina l'entità per la chiave.
Argomenti
- **ctx_options
- Opzioni di contesto
- delete_async(**ctx_options)
-
Elimina in modo asincrono l'entità per la chiave.
Argomenti
- **ctx_options
- Opzioni di contesto
Metodi della classe
- from_old_key(k)
-
Restituisce una chiave NDB dal valore passato nel campo "precedente" API Datastore (
db
)Key
.Argomenti
- **ctx_options
- Opzioni di contesto