Я переопределяю метод удаления модели 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)
Это отлично работает, когда я удаляю отдельные объекты из администратора, но когда я выбираю несколько объектов и удаляю их, это, похоже, не вызвано. Я давно искал поисковые запросы, но не использовал правильные ключевые слова, чтобы получить ответ на этот вопрос, и официальная документация, похоже, не говорит об этой теме.