我通过管理面板删除了 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)
这是因为图片本身并不存储在数据库中。有他们的链接。并且在使用时应该将它们删除
on_delete=models.CASCADE
。我提出了一个解决这个问题的方法。在控制台中输入pip install django-cleanup
。进一步在应用程序设置(settings.py 文件)现在,从 NewsPost 中删除时,存储图片的文件夹中的文件也将被删除。 链接到 github 库。