2012-03-29 21 views
9

Esiste un equivalente per modelname_set (una proprietà di riferimento) in Google App Engine's NDB?Google App Engine equivalente ndb per modelname_set (proprietà backreference)

Nel vecchio DB un'entità modello aveva described the back-reference property as:

Il nome dei valori predefiniti di proprietà di back-riferimento a modelname_set (con il nome della classe del modello in lettere minuscole, e "_set" aggiunto alla fine) e può essere regolato utilizzando l'argomento collection_name con il costruttore ReferenceProperty.

ho notato questa proprietà non sembra esistere con NDB db.Model istanze.

Il NDB ha un equivalente alla proprietà di riferimento?

risposta

13

Non esiste alcuna proprietà di riferimento per il riferimento diretto in NDB poiché NDB non utilizza lo stesso paradigma del client del datastore originale. Si utilizzerà una proprietà Key per il riferimento futuro e quindi si utilizza una query per tutto ciò che ha impostato KeyProperty come riferimento per il riferimento.

class Comment(ndb.Model) 
    source = ndb.KeyProperty() 

qry = Comment.query().filter(source=ndb.Key('Source', 'Sandy')) 
+0

Grazie Michael. Solo curioso, che scopo ha 'Sandy' nel tuo esempio? –

+2

'Sandy' è solo l'ID (assegnato dall'utente) della chiave, proprio come è il tipo "Fonte". –