如何知道 Google App Engine(python)中实体的现有子项?
Posted
技术标签:
【中文标题】如何知道 Google App Engine(python)中实体的现有子项?【英文标题】:How to know existing children of an entity in Google App Engine (python)? 【发布时间】:2012-05-17 06:29:46 【问题描述】:我在父子关系中创建了实体:
# Create Employee entity
employee = Employee()
employee.put()
# Set Employee as Address entity's parent directly...
address = Address(parent=employee)
# ...or using its key
e_key = employee.key()
address = Address(parent=e_key)
# Save Address entity to datastore
address.put()
那么,假设我们只知道地址实体,想要获取父(员工)。 我们可以得到地址'父:
address.key().parent()
但是,当我只知道员工时,我不知道如何获取员工的孩子。我发现 Key.from_path(...) 方法是从父子关系中获取 Key 的,但我不知道如何处理。
【问题讨论】:
目前我认为不可能从父母那里查询孩子。 我确实在你的问题中看到了 Python,如果你可以实现类似的东西,我仍然将此链接粘贴到 Java 中的类似内容:***.com/questions/528650/… 【参考方案1】:您可以使用.ancestor()
查询过滤器查询(直接或间接)子级,如下所示:
addresses = Address.all().ancestor(emp).fetch()
【讨论】:
它比仅仅将父母的 id 存储在孩子的列中并通过该列与 id 的相等性来获取更快吗?以上是关于如何知道 Google App Engine(python)中实体的现有子项?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 Google App Engine dev_appserver.py:watcher_ignore_re 标志“不是 JSON 可序列化”错误? [复制]
如何知道 Google App Engine(python)中实体的现有子项?
如何在 Google App Engine 上本地化应用程序?
Python 中 Google App Engine 的 dev_appserver.py 中出现 EOFError 错误