【发布时间】:2019-04-11 12:13:07
【问题描述】:
我有一个 Django ModelForm 连接到一个带有 ImageField 的 Django 模型:
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 设置为None 或空字符串'',但没有任何东西可以清除照片。用另一张照片替换照片。据我了解,因为“照片”是一个 ImageField,它只能从文件参数(表单中的第二个参数)中设置。如何从表单中清除 File/ImageField 字段?
谢谢!
【问题讨论】:
标签: django django-models django-forms