Python 如何从google app engine数据存储中删除带有blobkeys的实体

Python 如何从google app engine数据存储中删除带有blobkeys的实体,python,google-app-engine,google-cloud-datastore,Python,Google App Engine,Google Cloud Datastore,删除包含blob键的ndb实体的最佳实践是什么 我应该把这个包起来试一试吗?我可以将for循环展平成一个批吗(尽管ndb是asnyc) 这是我迄今为止尝试过的方法,但我不确定这是否是最好的方法: to_delete = BlogPost.query(ancestor=ndb.Key('BlogPost', int(id))).fetch(1)[0] for blob_key in to_delete.blob_keys: info = blobstore.BlobInfo(bob_key

删除包含blob键的ndb实体的最佳实践是什么

我应该把这个包起来试一试吗?我可以将for循环展平成一个批吗(尽管ndb是asnyc)

这是我迄今为止尝试过的方法,但我不确定这是否是最好的方法:

to_delete = BlogPost.query(ancestor=ndb.Key('BlogPost', int(id))).fetch(1)[0]
for blob_key in to_delete.blob_keys:
    info = blobstore.BlobInfo(bob_key)
    info.delete()
to_delete.key.delete()
delete_success = "successfully deleted"

self.response.out.write(delete_success)

我认为您应该删除任务中的blob,而不是与实体本身内联。
您可以创建一个事务,该事务将对任务进行排队,并立即删除实体


删除任务中的blob将使您在出现错误时可以重试,并且在有大量blob时不会延迟删除操作。

好的,谢谢-我暂时忘记了这些。这就是医生,对吗?