Python django中表单上显示的额外小部件
我有一张django的模型表格。详情如下: forms.pyPython django中表单上显示的额外小部件,python,django,Python,Django,我有一张django的模型表格。详情如下: forms.py class QcResultForms(forms.ModelForm): #: series = forms.ModelChoiceField(queryset=Series.objects.all(),help_text='Series ID adjkalsdjl',empty_label=None) # workflow_process = forms.ModelChoiceField(queryset=Workfl
class QcResultForms(forms.ModelForm):
#: series = forms.ModelChoiceField(queryset=Series.objects.all(),help_text='Series ID adjkalsdjl',empty_label=None)
# workflow_process = forms.ModelChoiceField(queryset=WorkflowsProcess.objects.all(),help_text='Workflow Process',empty_label=None)
class Meta:
model = QcResult
exclude = ('id','result','workflow_process','series',)
models.py
class QcResult(models.Model):
id = models.AutoField(primary_key=True)
workflows_process = models.ForeignKey('WorkflowsProcess', blank=True, null=True)
series = models.ForeignKey('Series', blank=True, null=True)
result = models.TextField(blank=True, null=True) # This field type is a guess.
class Meta:
managed = False
db_table = 'qc_result'
unique_together = (('workflows_process', 'series'),)
views.py
def add_qc_results(request):
context_dict = {}
if request.method == 'POST':
form = QcResultForms(request.POST)
if form.is_valid():
f = form.save()
return HttpResponseRedirect('/msrb/')
else:
print form.errors
else:
form = QcResultForms()
context_dict['form'] = form
template = get_template('msrb/add_qc_results.html')
context = RequestContext(request,context_dict)
return HttpResponse(template.render(context));
根据forms.py,它不应该显示任何内容。然而,它仍然会显示一个额外的小部件,如下所示,属于工作流流程
我不确定我错过了什么
编辑:模板
{% extends 'msrb/base.html' %}
{% block body_block %}
<h1> Add QC Result </h1>
<form id="add_qc_result" method="post" action="/msrb/add_qc_results/">
{% csrf_token %}
{% for field in form.visible_fields %}
{{ field.help_text }}
{{ field }}
{{ field.errors }}
<br/>
{% endfor %}
<input type="submit" name="submit" value="Add QC Result" />
</form>
{% endblock %}
{%extends'msrb/base.html%}
{%block body_block%}
添加质量控制结果
{%csrf_令牌%}
{%form.visible_fields%}
{{field.help_text}
{{field}}
{{field.errors}}
{%endfor%}
{%endblock%}
编辑2:
打开inspector时,我发现以下代码:
这里有一个输入错误:
exclude = ('id','result','workflow_process','series',)
这样做:
exclude = ('id','result','workflows_process','series',)
您可以显示您的模板
msrb/add_qc_results.html
文件吗?嗨,Edwin,请在浏览器中找到qc_results模板右键单击“inspect element”并查看小部件的名称/id。这将帮助您查看正在呈现的内容。很抱歉,我应该提到这一点,这是来自inspector的id:这与workflow\u process=forms.ModelChoiceField(queryset=WorkflowsProcess.objects.all(),help\u text='workflow process',empty\u label=None)生成的id相同。确定。所以我得到了一些帮助,发现有一个输入错误导致了额外的字段。