我正在用 django 实现一个应用程序,它有一个带有 FileField 的模型:
class Slideshow(models.Model):
name = models.CharField(max_length=30,unique=True)
thumbnail = models.FileField(max_length=1000,upload_to="images/app/slideshows/thumbnails")
我有一个管理后端,django 管理模型。我刚刚添加了文件 admin.py 和 django 为我管理一切
from django.contrib import admin
from apps.gallery.models import Slideshow
admin.site.register(Slideshow)
在后端,可以添加、删除和更新幻灯片。但是,当我尝试更新幻灯片并更改其属性缩略图 [FileField] 时,django 不会删除旧文件。因此,经过多次更新后,服务器中充满了许多无用的文件。
我的问题是:如何让 django 在更新后自动删除这些文件?
我将衷心感谢您的帮助
最佳答案
我想了很多这个问题,最终我找到了一个比我更适合的解决方案。您可以找到项目中的所有模型并将 pre_save 和 post_delete 信号连接到它们。
最后我做了应用程序,解决了这个问题 - django-cleanup
关于Django - 更新模型不会删除旧的 FileField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023990/