【发布时间】:2019-05-12 07:14:27
【问题描述】:
如何使作为参数传递的实例使表单始终有效? 我想修改数据库中的一个元组。
ue = UE.objects.get(code_ue='INF401')
>>>ue_form = UEForms(instance=ue)
>>>ue_form.is_valid()
False
这里是views.py
def modifier_ue(request, code):
if request.method == 'POST':
ue_form = UEForms(request.POST);
if ue_form.is_valid() and 'supprimer' in request.POST:
return HttpResponse('supprimer');
elif ue_form.is_valid() and 'continuer' in request.POST:
return HttpResponse('continuer');
elif ue_form.is_valid() and 'quitter' in request.POST:
return HttpResponse('quitter');
else:
return HttpResponse(ue_form.errors.as_data())
else:
ue = UE.objects.get(code_ue=code);
ue_form = UEForms(instance=ue);
return render(request, 'felyn/admin/modifier_ue.html', {'ue_form': ue_form, 'code': code});
【问题讨论】:
-
你设置
data=QueryDict() -
我不明白您为什么要在此处设置表单。在
GET请求中,您通常不会使表单有界,因为 POST 需要绑定表单。所以在 GET 情况下,它通常只是UEForms(isntance=ue)...
标签: django forms validation