可能是一个简单的问题,但如果我有一个ModelForm:
class ExampleModelForm(forms.ModelForm):
class Meta:
exclude = ['username']
当我使用表单时,我想注入一个我从其他地方获得的用户名,但仍希望它通过验证过程。如果我使用:
instance = ExampleModel(username='Foobar')
form = ExampleModelForm(request.POST, instance=instance)
if form.is_valid():
form.save()
用户名'Foobar'是否与表单中的其他字段进行相同的验证?
谢谢,
Ĵ
答案 0 :(得分:2)
不,如果表单已被排除,表单甚至不包含用户名字段。
如果要通过表单对字段执行验证,则应修改POST字典。
post = request.POST.copy()
post['username'] = 'Foobar'
form = ExampleForm(post)