Django表单缓存或重载问题
发布时间:2020-12-20 13:25:39 所属栏目:Python 来源:网络整理
导读:我有一个页面向db插入值. 插入后加载另一个页面,下拉列出了db值 但插入的值未在下拉列表中列出 问题不在于事务/提交等.以第二种形式检索下拉数据的查询是正确的. Form1(第一页) class Organization(forms.Form): orgList = getOrgUnitList() orgUnit = forms
我有一个页面向db插入值.
插入后加载另一个页面,下拉列出了db值 但插入的值未在下拉列表中列出 问题不在于事务/提交等.以第二种形式检索下拉数据的查询是正确的. Form1(第一页) class Organization(forms.Form): orgList = getOrgUnitList() orgUnit = forms.CharField(label=u'Organization Name',max_length=50,error_messages={'required':'Organization name is required field.'}) parentOrg= forms.ChoiceField(label=u'Parent Organization',choices=[(u'Select',u'Select')]+orgList,error_messages={'required':'Organization name is required field.'}) Form2(第二页) class User(forms.Form): orgUnitList = getOrgUnitList() email = forms.EmailField(label=u'Email',error_messages={'required':'Email is required field'}) orgUnit = forms.ChoiceField(label=u'Organizational Unit',choices=orgUnitList,error_messages={'required':'Organizational unit is required field'}) 询问 def getOrgUnitList(): orgUnitList = list(OrganizationUnit.objects.values_list ('OrgUnitID','OrgUnitName').order_by('OrgUnitName')) return orgUnitList 但当我试图绑定视图中的选择它是有效的 def user() template = get_template('AddUser.html') form = AddUser() orgUnitList = getOrgUnitList() del objAdminUIDA form.fields['orgUnit'].widget.choices=orgUnitList variables = RequestContext(request,{'form':form}) output = template.render(variables) del form return HttpResponse(output) 但我无法给出下拉选项,我希望在form.i需要一个解决方案 解决方法
首先,orgList在表单定义中进行评估,这就是选择不会改变的原因.您应该将getOrgUnitList放在表单的__init__中(或者在其他方法中).
其次,你没有将任何数据传递给表单,可能是你想要的 form = AddUser(request.POST or None) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |