У меня есть Django ModelForm, подключенная к модели Django с помощью ImageField:
photo = models.ImageField(upload_to='athletes/', blank=True, default='')
Вот так я настраиваю свою форму:
def get_form(info, **input):
pk = input.pop("id", None)
form_kwargs = {}
if pk:
instance = Person.objects.get(pk=pk)
form_kwargs["instance"] = instance
print(input)
return PersonForm(input, info.context.FILES, **form_kwargs)
Это вывод печати:
{
'name': 'John Doe',
'photo': None,
'discipline': 'Triathlon'
}
Я пытаюсь обновить существующую модель, очистив атрибут photo. Я попытался установить photo
в None
или в пустую строку ''
, но ничего не очищает фотографию. Замена фото другим работает. Насколько я понимаю, поскольку "photo" - это ImageField, его можно установить только из аргумента files (второй аргумент в форме). Как очистить поле File / ImageField из формы?
Спасибо!