这是一个创建于 3657 天前的主题,其中的信息可能已经有所发展或是发生改变。
上传的图片再删除对象后,django不会自动删除在media_root下的实际文件,所以用 post_delete.connect(delete_file,sender=ModelA) 但是我有2个模型都有imageField,并且他们的属性名不一样,所以我希望delete_file函数是通用的,接受一个指定属性名的参数,这样我就可以.
from functools import partial post_delete.connect(partial(delete_file,'attr_name_A'),sender=ModelA) post_delete.connect(partial(delete_file,'attr_name_B'),sender=ModelB)
def delete_file(attrname,sender,**kwargs): instance=kwargs['instance'] os.remove(os.path.join(BASE_DIR,instance.getattr[attrname].path))
但是没有成功,没报任何异常错误,delete_file没有执行。请问哪里有问题么?或者应该怎样调试?
2 条回复 • 2014-11-20 12:57:06 +08:00