编程语言
首页 > 编程语言> > python – 如何删除包含所有子项的实体

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