2014-01-27 84 views
0

如何将由ImageField上传的图像(在我的模型中)替换为由同一个ImageField选择的新图像?django替换ImageField上传的旧图像

而且,当我删除模型对象(批量删除)时,我可以删除由ImageField上传的所有图像吗?

回答

1

这可能会变得棘手, 很多时候取决于你的约束。 1.为模型编写自己的保存方法,然后删除旧图像a并替换为新图像。 os.popen( “RM%的” %STR(info.photo.path))

  1. 写一个cron作业来清除所有未被引用的文件。但如果磁盘空间再次出现问题,您可能需要执行第一个操作,这会让您在页面加载时出现一些延迟。
+0

如果我更喜欢1st解决方案,但是有更新对象时没有添加新图像的情况。如何检查是否提交了新图像? –

+1

所以,当你更新一个对象时,你会检查它是否有要保存的图像,如果有,则保存它。 以及您提到的情况,当您没有要替换的图像时,您只需保存其他字段。 – Anup

+0

好的,但如果图像存在,我如何检查用户是否选择了一个新的图像在表单中? –