2012-03-29 6 views
9

Есть ли эквивалент для modelname_set (свойство обратной ссылки) в Google App Engine's NDB?Google App Engine эквивалент ndb для modelname_set (свойство обратной ссылки)

В старой БД модельной объект был described the back-reference property as:

Имя по умолчанию обратной ссылки на недвижимость в modelname_set (с именем класса модели в нижнем регистре букв, а «_set» добавлены к end) и может быть скорректирована с использованием аргумента collection_name конструктору ReferenceProperty.

Я заметил, что это свойство похоже не существует с NDB db.Model экземплярами.

Имеет ли NDB эквивалент свойства обратной ссылки?

ответ

13

В NDB нет прямых свойств обратной ссылки, поскольку NDB не совсем использует ту же парадигму, что и исходный клиент хранилища данных. Вы должны использовать KeyProperty для вашей прямой ссылки, а затем использовать запрос для всего, что имеет тот KeyProperty, установленный для вашей обратной ссылки.

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

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

Thanks Michael. Любопытно, какая цель имеет «Сэнди» в вашем примере? –

+2

«Сэнди» - это только идентификатор пользователя (пользовательский), как и «Источник». –

Смежные вопросы