我想对数据存储区中的实体进行级联删除。我的意思是所有的孩子和间接孩子也将被删除。我最初认为这将是默认行为,但不知何故它不是......
我的想法是这样的:
ndb.delete_multi(ndb.Model.query(ancestor=key).iter(keys_only = True))
但是Model应该是一个通配符,因为该实体可以是几个类的父...
我还想在删除实体时删除BlobKeyProperties。对此,我在想 约:
@classmethod
def _post_delete_hook(cls, key, future):
# inform someone they have lost a friend
我应该用它来进行级联删除吗?
答案 0 :(得分:6)
对于无用的祖先查询,请从query class
创建查询ndb.delete_multi(ndb.Query(ancestor=key).iter(keys_only = True))
我不会对所有子实体使用级联删除。如果你有很多,那么它会慢得多(除非你想在任务中运行删除)。