当前位置: 首页 > 面试题库 >

从数据库/模型中删除对象时,如何让Django Admin删除文件?

宇文卓
2023-03-14
问题内容

我将1.2.5与标准ImageField一起使用,并使用内置的存储后端。文件上传正常,但是当我从管理员删除条目时,服务器上的实际文件不会删除。


问题答案:

你可以接收pre_deletepost_delete信号(请参见下面的@toto_tico的注释),并在FileField对象上调用delete()方法,因此(在models.py中):

class MyModel(models.Model):
    file = models.FileField()
    ...

# Receive the pre_delete signal and delete the file associated with the model instance.
from django.db.models.signals import pre_delete
from django.dispatch.dispatcher import receiver

@receiver(pre_delete, sender=MyModel)
def mymodel_delete(sender, instance, **kwargs):
    # Pass false so FileField doesn't save the model.
    instance.file.delete(False)


 类似资料:
  • 我如何删除记录“苹果”(在图片中标记)? 根据文档,要移除一个项,需要对引用调用removeValue()。但要获得引用,我需要子ID。因为它是一个随机生成的id(-kisnx87ayigsh3ilp0d),如何删除它?

  • 问题内容: 我正在通过jQuery ajax将JSON发送到Node服务器。我的jQuery ajax正在运行。见下文。 我的问题是,当我控制台日志用户(一个已字符串化的json对象)时,我在丢失的数组中有信息。我丢失的对象部分看起来像这样。 它在控制台中显示为字符串形式,如下所示: 不会存储在父用户对象内部的那些数组中存储的信息。关于为什么会这样的任何建议都会有所帮助。如果您有其他方法可用于通过

  • 我以为上面的办法行得通,但它失败了。我把它放在渲染行部分。它出现了reference.remove失败。第一个参数必须是有效的函数。就像在这些房间里,它有信息,我认为这是我出错的地方,但我不知道如何去做它。谢谢。

  • 问题内容: 我的意思不是删除一个或多个文件。我的意思是完全删除该模型,以便猫鼬不再意识到它。声明模型后,我不知道如何使猫鼬忘记该模型,以便可以重新创建它。 目前,上面引发了一个异常。 OverwriteModelError:编译后无法覆盖“ Book”模型。 我希望能够做这样的事情… …并且没有任何错误。有任何想法吗? 问题答案: 试试这个 然后重新注册/重新初始化它。它将正常工作

  • 我是JSP的新手,我正在尝试创建一个web界面,用户可以在该界面中输入他们想要删除的信息,并且该信息将在数据库表中删除。 在这里,他们应该输入和,然后应该删除具有两个指定ID的任何数据。但是,它不是从表中删除的。我有个例外 数组索引越界 下面是我的代码:

  • 问题内容: 我想从对象中删除时间。 但是,当我转换此日期(格式)时,它也在附加时间。 我根本不想要时间。我想要的只是“ 21/03/2012”。 问题答案: 快速答案是: 不,您不能这样做。 因为那是用来干什么的。 来自的javadoc : Date类表示特定的时间瞬间,精度为毫秒。 但是 ,由于此类仅是数据对象。它不在乎我们如何描述它。当我们看到日期时,可以说是,这就是您所需要的。有很多方法可以