Кэш формы Django или проблема перезагрузки - PullRequest
4 голосов
/ 13 декабря 2011

У меня есть страница для вставки значения в дб. После вставки я загружаю другую страницу с раскрывающимся списком значений БД Но вставленное значение не отображается в раскрывающемся списке

Проблема не в транзакции / фиксации и т. Д. Запрос на получение данных для раскрывающегося списка во второй форме является правильным.

Форма 1 (первая страница)

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)

Но я не могу дать раскрывающийся список, я хочу дать выбор в форме. Мне нужно решение для формы2

1 Ответ

1 голос
/ 13 декабря 2011

Во-первых, orgList оценивается в определении формы, поэтому выбор не меняется.Вы должны поместить getOrgUnitList в __init__ формы (или каким-либо другим методом ).

Во-вторых, вы не передаете данные в форму, может быть, вы хотите

form = AddUser(request.POST or None)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...