• Django - как настроить удаление ненужных файлов (из FileField) при удалении/изменении модели?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Тут посоветовали django-cleanup -- это действительно хорошее решение, но когда в каких-то моделях нужно удалять, а в других не нужно, или даже разное поведение с файлами в разных местах (где-то удалять файлы, а где-то оставлять), то есть другое решение:

    Допустим есть модель:
    class tb_icons(models.Model):
        image = models.ImageField(max_length=128, verbose_name=u"картинка")
        # ...
        # ...


    Если хочешь удалить запись из таблицы tb_icons и сопутствующий файл из image делаешь так (например, для удаления первой записи):

    tb_icons.objects.get(id=1).image.delete(save=True)
    tb_icons.objects.get(id=1).delete()


    Соответственно если save=False файл удаляться не будет.
    Ответ написан
    Комментировать