我有一個帶圖像字段的模型,我希望能夠使用ModelForm更改圖像。更改圖像時,應刪除舊圖像並用新圖像替換。在哪裏可以刪除模型圖像?
我試圖做到這一點的的ModelForm像這樣的清潔方法:
def clean(self):
cleaned_data = super(ModelForm, self).clean()
old_profile_image = self.instance.image
if old_profile_image:
old_profile_image.delete(save=False)
return cleaned_data
也能正常工作,除非用戶指定的文件是不正確的(例如,如果它不是一個圖像)導致圖像被刪除而沒有保存任何新圖像。我想知道哪裏是刪除舊圖像的最佳位置?我的意思是,在刪除舊圖像之前,我可以確定新圖像是否正確?
編輯: 如果可能,我更喜歡在我的ModelForm類中執行此操作。
我很困惑你的問題。有些不是問題(如代碼之後的第一句)。其他人,比如關於「最好」的問題是意見,或者與你的設計密切相關。我想提供幫助 - 你可以編輯你的問題一些更清楚嗎? – Erik 2012-07-10 21:07:01
我已經編輯了一下。我希望現在更清楚。如果不讓我知道。 – WesDec 2012-07-10 21:13:07