在AppEngine中引用父/祖先关系的属性时,最佳做法是什么?我应该添加一个从父项指向子项的引用属性,以便于访问父项中的子项,或者我应该“吮吸它”并从父项执行祖先查询以获取它的子项. 最佳答案 如果只有一个子节点,则可以使用已知的key_name,以便直接获取子节点(因为您知道父节点的键).这很有用,因为只要您知道父级的密钥名称或ID,就可以轻松直接获取子级.
child_key = db.Key.from_path('ChildKind', 'knownname', parent=parent_key)
child = db.get(child_key)
如果有多个子节点,您可以在父节点上存储密钥列表(可以是未编制索引),或使用祖先查询.我想说这取决于您的数据如何更新,报告(呈现)和数据量.换句话说,它取决于您的应用程序的需求.