python – 如何删除包含所有子项的实体
作者:互联网
我想对数据存储区中的实体进行级联删除.我的意思是所有的孩子和间接孩子也将被删除.我最初认为这将是默认行为但不知何故它不是……
我的想法是这样的:
ndb.delete_multi(ndb.Model.query(ancestor=key).iter(keys_only = True))
但模型应该是一个通配符,因为实体可以是几个类的父级…
我还想在删除实体时删除BlobKeyProperties.对此,我在想
关于:
@classmethod
def _post_delete_hook(cls, key, future):
# inform someone they have lost a friend
我应该使用哪个级联删除?
解决方法:
对于无用的祖先查询,从query class创建查询
ndb.delete_multi(ndb.Query(ancestor=key).iter(keys_only = True))
我不会对所有子实体使用级联删除.如果你有很多,那么它会慢得多(除非你想在任务中运行删除).
标签:app-engine-ndb,python,google-app-engine 来源: https://codeday.me/bug/20190825/1721904.html