这是确保删除与模型关联的FileField的方法吗?

时间:2011-06-16 11:56:02

标签: django django-file-upload

当我删除具有FileField的模型实例时,实际文件将保留在MEDIA_ROOT文件夹中。为了解决这个问题,我正在监听post_delete信号,并执行此操作:

def delete_actual_file(sender,**kwargs):
  import os
  instance = kwargs.get("instance")
  os.unlink(instance.file.path)

post_delete.connect(delete_actual_file,sender=ModelWithFileField)

它似乎工作正常,但我不确定这样做是否是最好的做法。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您使用的是哪个版本的Django? behaviour changed in Django 1.3here。您可能想要的文档是{{3}},您可以将其挂钩到您的信号中,但我想它必须成为预删除操作。