2012-03-29 3 views
9

Gibt es eine Entsprechung für modelname_set (eine Eigenschaft, auf die verwiesen wird) in Google App Engine's NDB?Google App Engine-Ndb-Entsprechung für modelname_set (Eigenschaft backreference)

Im alten DB Model Einheit described the back-reference property as hatte:

Der Name der Rückverweis Eigenschaft standardmäßig auf modelname_set (mit dem Namen der Modellklasse in Kleinbuchstaben, und „_SET“ auf die zugegebene end) und kann mit dem Argument collection_name des ReferenceProperty-Konstruktors angepasst werden.

Ich bemerkte, dass diese Eigenschaft mit NDB db.Model Instanzen nicht zu existieren scheint.

Hat NDB eine Entsprechung zur Rückverweiseigenschaft?

Antwort

13

Es gibt keine direkten Rückverweiseigenschaften in NDB, da NDB nicht das gleiche Paradigma wie der ursprüngliche Datenspeicherclient verwendet. Sie würden eine KeyProperty für Ihre Weiterleitungsreferenz verwenden und dann eine Abfrage für alles verwenden, für das diese KeyProperty für Ihre Rückverweisung festgelegt ist.

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

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

Danke Michael. Nur neugierig, welchen Zweck hat 'Sandy' in deinem Beispiel? –

+2

'Sandy' ist nur die (vom Benutzer zugewiesene) ID des Schlüssels, genauso wie 'Source' die Art ist. –

Verwandte Themen