Ссылочное свойство для отношения родитель / предок? - PullRequest
4 голосов
/ 15 февраля 2011

Какова лучшая практика, когда речь идет о ссылочных свойствах для отношений родитель / предок в AppEngine?Должен ли я добавить ссылочное свойство, указывающее родительский объект на дочерний элемент, чтобы упростить доступ к дочернему элементу в родительском элементе, или я должен просто «подхватить его» и выполнить запрос предка от родительского элемента, чтобы получить его дочерние элементы.

1 Ответ

2 голосов
/ 15 февраля 2011

Если есть только один дочерний элемент, вы можете использовать известное имя ключа, чтобы вы могли напрямую получить дочерний элемент (поскольку вы знаете ключ родительского элемента). Это может быть полезно, потому что каждый раз, когда вы знаете имя ключа или идентификатор родителя, вы можете легко получить ребенка напрямую.

child_key = db.Key.from_path('ChildKind', 'knownname', parent=parent_key)
child = db.get(child_key)

Если есть несколько дочерних элементов, вы можете потенциально сохранить список ключей (он может быть неиндексирован) на родительском элементе или использовать запрос предка. Я бы сказал, что это зависит от того, как ваши данные обновляются, сообщаются (представляются) и объема данных. Другими словами, это зависит от потребностей вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...