Удаление медиафайлов

При использовании встроенных в ORM Django типов полей FileField и ImageField может возникнуть потребность в автоматическом удалении файлов, привязанных к этим полям. Это можно легко сделать следующим способом, перегрузив метод Model.delete:

class SomeModel(models.Model):
    image = ImageField(...)

    def delete(self, *args, **kwargs):
        storage, path = self.image.storage, self.image.path
        super(ImageModel, self).delete(*args, **kwargs)
        storage.delete(path)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>