Можно ли найти и удалять сирофонные капли в приложении двигателя Blobstore?

StackOverflow https://stackoverflow.com/questions/2935980

Вопрос

Я использую Python API и создал несколько сирофонов во время тестирования.

Из-за ошибки в приборной панели я не могу в настоящее время удалить их, и в любом случае, идущий вперед, я хотел бы иметь возможность сделать это программно, поскольку оно будет невозможно сделать это вручную, как только количество объектов поднимается.

Это было полезно?

Решение

Если ваше поле BlobremericProperty проиндексировано, то да, это вполне возможно.

То Blobinfo Класс обеспечивает тот же набор полей, как обычная модель, поэтому вы можете сделать это что-то вроде этого:

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

Если у вас есть более нескольких капель, вы, вероятно, хотите переосмыслить это, используя недавно уменьшенные MapReduce API.

Другие советы

Небольшое улучшение: использование run вместо fetch Возвращете ITERALABLE вместо списка, поэтому вам не нужно ограничивать количество записей в запросе:

blobs = BlobInfo.all().run()

вместо

blobs = BlobInfo.all().fetch(500)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top