在 AppEngine 中引用父/祖先关系的属性时,最佳做法是什么?我应该添加一个从父项指向子项的引用属性以便于访问父项中的子项,还是应该“吸收它”并从父项执行祖先查询以获取它的子项。
最佳答案
如果只有一个 child ,您可以使用已知的 key_name,这样您就可以直接获取 child (因为您知道 parent 的 key )。这很有用,因为只要知道父项的键名或 ID,就可以轻松地直接获取子项。
child_key = db.Key.from_path('ChildKind', 'knownname', parent=parent_key)
child = db.get(child_key)
如果有多个子项,您可能会在父项上存储一个键列表(可以取消索引),或者使用祖先查询。我会说这取决于您的数据如何更新、报告(呈现)以及数据量。换句话说,这取决于您的应用程序的需求。
关于google-app-engine - 父/祖先关系的引用属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5004448/