当我删除具有 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)
它似乎工作正常,但我不确定这样做是否是最佳做法。有什么想法吗?