2

当我删除具有 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)

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

4

1 回答 1

2

您使用的是哪个版本的 Django?Django 1.3 中的行为发生了变化。您可能想要的文档在这里,您可以将其连接到您的信号中,但我想它必须成为预删除操作。

于 2011-06-16T12:31:45.327 回答