我有一个向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.'})
表格2(第二页)
class User(forms.Form):
orgUnitList = getOrgUnitList()
email = forms.EmailField(label=u'Email',
max_length=50,
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需要一个form2的解决方案
答案 0 :(得分:1)
首先,orgList
在表单定义中进行评估,这就是选择不变的原因。您应该在表单getOrgUnitList
(或其他方法)中放置__init__
。
其次,您没有将任何数据传递给表单,可能是您想要的
form = AddUser(request.POST or None)