Django удалить S3 изображение загружено с помощью настраиваемого поля
Я использую настраиваемое поле для загрузки изображения на s3, используя django 1.9. Я хочу удалить изображение из s3 всякий раз, когда экземпляр модели удаляется. Я пробовал сигнал post_delete с помощью метода ImageField delete(), но так как я использую настраиваемое поле, не могу достичь результата. Любое предложение о том, как этого добиться?
1 ответ
from django.db.models.signals import pre_delete
.....
pre_delete.connect(delete_image, dispatch_uid="delete_image")
.....
def delete_image(sender, instance, **kwargs):
for field_name in instance._meta.get_fields():
try:
field = getattr(instance, field_name)
except:
field = None
if isinstance(field, your_custom_field):
your_app_utils.clean_images(field.get_images())