我有一个禁用了选择框的表单。我在UpdateForm()中有这个函数:
def clean_job(self):
f = self.fields['job'].widget.attrs
if f.has_key('disabled') and f['disabled'] == 'disabled' :
return self.instance.job
else:
return self.cleaned_data['job']
但是在提交表单时出现此错误:Key 'job' not found in <QueryDict:
如何为禁用的选择框分配密钥?
提前致谢
答案 0 :(得分:1)
您没有 向服务器发送job
的内容。您 要做的事情是正确处理代码中的异常。如果该密钥不存在,直接在字典中访问密钥将导致错误,因此您根本不这样做。相反,在dict上使用get
方法,或在这种情况下使用QueryDict
。
job = request.POST.get('job') # stores `None` if doesn't exist
if job is not None:
# do something
或者您可以提供默认值:
job = request.POST.get('job', 'default job')