2011-12-13 43 views
4

我有一个页面插入值到数据库。 将正在加载另一个页面的下拉列表的分贝值后,但 插入的值不会在下拉列表Django窗体缓存或重装问题

的问题不在于交易/提交等来检索降下来的数据中的查询第二种形式是正确的。

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

完全重复[Django表单重新加载数据(http://stackoverflow.com/questions/8485677/django -form-reload-data) –

回答

1

首先,orgList在表单定义中进行了评估,这就是选择不会改变的原因。您应该将getOrgUnitList置于表单的__init__(或其他方法)。

其次,你没有任何数据传递到形式,可能是你想要

form = AddUser(request.POST or None) 
+0

感谢您的solution.it工作正常。 – TomJoy