【发布时间】:2019-04-17 18:41:42
【问题描述】:
我为add 和edit 表单创建了一个简单的Django 表单。
我的问题出在我使用 ModelChoiceField 的人员领域。
在编辑表单中,除了字段ModelChoiceField 之外,所有值都解析正确。
在编辑表单中,该字段为空且不保留值,知道为什么吗??
def edit_work(request, pk):
instance = get_object_or_404(work, id=pk)
form = workForm(request.POST or None,instance=instance)
if form.is_valid():
note = form.save(commit=False)
note.save()
return HttpResponseRedirect('/work/success/')
return render(request,'edit_work.html', {'form': form})
def add_work(request):
if request.method == "POST":
form = workForm(request.POST)
if form.is_valid():
note = form.save(commit=False)
note.save()
return render(request, "succes/erga_success.html")
else:
form = workForm()
return render(request, 'add_work.html',{'form':form})
forms.py
class workForm(forms.ModelForm):
peaople=forms.ModelChoiceField(queryset=User.objects.all(),required=False, error_messages={
'invalid': _("---")})
class Meta:
model = work
fields = (__all__")
html页面:
<form enctype="multipart/form-data" method="POST" action="">{% csrf_token %}
{{form.peaople}}
.........
<input type="submit" value="create">
</form>
【问题讨论】:
标签: python django django-forms