我的ModelMultipleChoiceField
形式是这样的:
class UserResponseSearchForm(forms.Form):
def __init__(self, *args, **kwargs):
qry = kwargs.pop('qry')
super(UserResponseSearchForm,self).__init__(*args, **kwargs)
self.fields['gejala_id0'] = forms.ModelMultipleChoiceField(queryset=Gejala.objects.filter(gejala__icontains=qry).values_list('gejala', flat=True).distinct().order_by('gejala'),widget=forms.CheckboxSelectMultiple, required=False)
gejala_id1 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=1).order_by('gejala'), widget=forms.CheckboxSelectMultiple, required=False)
gejala_id2 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=2).order_by('gejala'), widget=forms.CheckboxSelectMultiple, required=False)
gejala_id3 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=3).order_by('gejala'), widget=forms.CheckboxSelectMultiple, required=False)
我的观点是这样的:
def responsePenyakit(request):
if request.user.is_authenticated:
if request.method == 'POST':
form = UserResponseForm(request.POST)
gejala0 = form["gejala_id0"].data
gejala1 = form["gejala_id1"].data
gejala2 = form["gejala_id2"].data
gejala3 = form["gejala_id3"].data
if (len(gejala0) > 0):
for i in range(0, len(gejala0)):
userAnswer = UserAnswer()
userAnswer.gejala_answer = gejala1[i]
userAnswer.user_id = request.user.id
userAnswer.number_diagnosis = user.number_diagnosis + 1
userAnswer.save()
print(gejala0)
if (len(gejala1) > 0):
for i in range(0, len(gejala1)):
userAnswer = UserAnswer()
userAnswer.gejala_answer = gejala1[i]
userAnswer.user_id = request.user.id
userAnswer.number_diagnosis = user.number_diagnosis + 1
userAnswer.save()
if (len(gejala2) > 0):
for i in range(0, len(gejala2)):
userAnswer = UserAnswer()
userAnswer.gejala_answer = gejala2[i]
userAnswer.user_id = request.user.id
userAnswer.number_diagnosis = user.number_diagnosis + 1
userAnswer.save()
if (len(gejala3) > 0):
for i in range(0, len(gejala3)):
userAnswer = UserAnswer()
userAnswer.gejala_answer = gejala3[i]
userAnswer.user_id = request.user.id
userAnswer.number_diagnosis = user.number_diagnosis + 1
userAnswer.save()
return redirect('diagnosis_penyakit:response_matching')
else:
raise Http404
我想从gejala_id0
表单中得到我选择的数据。我试着像在我的views.py
中那样获取数据
但是有返回错误Key 'gejala_id0' not found in 'UserResponseForm'.
有什么问题吗?我认为我所做的是正确的。CMIIW公司
请帮帮我。我是刚到django的
首先创建字段,然后更改
__init__
中的queryset同时将qry发送至表格:
相关问题 更多 >
编程相关推荐