Как удалить картинки связанные по foreign key с другой моделью

Удаляю модель NewsPost через админ-панель, все работает, но не удаляются связанные с этой моделью картинки NewsPostImages из папки "news/images/%Y/%m/%d", что делать??

from django.db import models
from django_resized import ResizedImageField


class NewsPost(models.Model):
    article = models.CharField(max_length=180)
    poster = ResizedImageField(upload_to="news/posters/%Y/%m/%d", null=True, blank=True)
    news_field = models.TextField()
    pub_date = models.DateTimeField('date published')


class NewsPostImage(models.Model):
    news_post = models.ForeignKey(NewsPost, on_delete=models.CASCADE, default=None)
    image = models.ImageField(upload_to="news/images/%Y/%m/%d", null=True, blank=True)

Ответы (1 шт):

Автор решения: Vadim.Sharoikin

Это связанно с тем что картинки не хранятся в самой бд. Там на них хранятся ссылки. И как раз они должны удаляться при использовании on_delete=models.CASCADE. Предлагаю такое решение данной проблемы. В консоли вводим pip install django-cleanup. Далее в настройка приложения (файл settings.py)

INSTALLED_APPS = [
    ...
    'django_cleanup',
]

теперь при удалении из NewsPost будут удаляться файлы и в папке , где хранятся картинки. Ссылка на github библиотеки.

→ Ссылка