Python 是否可以在应用程序引擎blobstore中查找和删除孤立Blob?

Python 是否可以在应用程序引擎blobstore中查找和删除孤立Blob?,python,google-app-engine,blobstore,Python,Google App Engine,Blobstore,我正在使用pythonapi,并在测试期间创建了一些孤立的blob 由于仪表板中的一个错误,我目前无法删除这些,而且在任何情况下,我希望能够以编程方式执行此操作,因为一旦实体数量增加,手动执行此操作将不可行。如果您的BlobreReferenceProperty字段已编制索引,则是的,这是完全可能的 该类提供与常规模型相同的字段集,因此您可以这样做: blobs = BlobInfo.all().fetch(500) for blob in blobs: if not MyModel.all

我正在使用pythonapi,并在测试期间创建了一些孤立的blob


由于仪表板中的一个错误,我目前无法删除这些,而且在任何情况下,我希望能够以编程方式执行此操作,因为一旦实体数量增加,手动执行此操作将不可行。

如果您的BlobreReferenceProperty字段已编制索引,则是的,这是完全可能的

该类提供与常规模型相同的字段集,因此您可以这样做:

blobs = BlobInfo.all().fetch(500)
for blob in blobs:
  if not MyModel.all().filter("blob_ref =", blob.key()).count(1):
    blob.delete()

如果您有多个BLOB,您可能希望使用最近减少的重新实现此功能。

略微改进:使用
run
而不是
fetch
将返回一个iterable而不是列表,因此您无需限制查询中的条目数:

blobs = BlobInfo.all().run()
而不是

blobs = BlobInfo.all().fetch(500)