Django - 更新模型不会删除旧的 FileField

标签 django admin backend filefield

我正在用 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/

相关文章:

python - 让 Django REST Framework HyperlinkedModelSerializer 识别非默认路由

javascript - Magento 管理面板 - 页面属性集不起作用 "Add group"

从 gcc 的中间文件编译目标文件

javascript - 我可以在自己的服务器上托管 BaaS 解决方案吗?

php - 按 WooCommerce 管理订单列表中的特定元字段过滤订单

Django 级联删除和 post_delete 信号

Python Django REST API 测试

python - 为什么我在 Django 通知中收到此错误?

registry - 在 Inno Setup 中设置 "RUNASADMIN"应用程序兼容性标志

使用 F() 表达式的 Django 管理过滤器