【发布时间】:2016-09-13 23:23:13
【问题描述】:
有时,您创建的实体种类应该存在于另一个实体中。但是,如果它变成孤儿,它将没有理由再存在于数据存储中。
What happens to child datastore objects after deleting the ancestor?
根据上面的链接,
- “删除祖先时不会删除子实体”
- “child_entity.key.parent().get() 将返回 None。”
如果我删除祖先,孩子将没有父母,使其成为孤儿。
这是个问题,因为它没有理由再留在数据存储中了。
有没有办法确保数据库中永远不会发生这种情况?
我能想到的可能解决方案是:
- 定期运行宏以删除孤儿
- 尝试清理代码/清除可能导致我的孩子变成孤儿的错误
但是,我希望有一个更以编程方式正确的解决方案,例如可以设置的属性或属性,以确保我的父(键)永远不会指向不存在的实体。 (也就是在删除祖先时自动删除实体)
有吗? 如果是,那是什么? 如果没有,为什么不呢?
【问题讨论】:
-
您可能被某些东西误导了,将实体作为孤儿或作为根实体并没有错...
-
我了解当实体成为孤儿时没有错误。但是,问题在于,有时您没有任何理由将其保存在数据存储中。
标签: google-app-engine app-engine-ndb webapp2 google-cloud-datastore