Я переопределяю метод удаления модели Django, чтобы удалить файлы-сироты на диске для полей изображений, примерно так:
class Image(models.Model):
img = models.ImageField(upload_to=get_image_path)
...
def delete(self, *args, **kwargs):
self.img.delete()
super(Image, self).delete(*args, **kwargs)
Это отлично работает, когда я удаляю отдельные объекты из администратора, но когда я выбираю несколько объектов и удаляю их, это, похоже, не вызывается. Я какое-то время гуглил, но не нашел нужных ключевых слов, чтобы получить ответ на этот вопрос, и в официальной документации, похоже, не говорится об этом.