이미지 필드가있는 모델이 있고 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
조금 편집했습니다. 나는 지금 그것이 더 분명하게 희망한다. 나에게 알려주지 않으면. – WesDec