django 1.3 проверяет поле формы, созданное программным способом - PullRequest
1 голос
/ 01 сентября 2011

У меня есть форма, в которой я программно генерирую поля во время выполнения.В методе clean внутри моей формы, когда я печатаю cleaned_data, я ничего не получаю.Можно ли получить доступ к данным поля, которое было сгенерировано во время выполнения?

wizard.py

        for i in lobj:
            form.fields['list[%s]' % i.id] = forms.CharField(label=i.title, widget=forms.CheckboxInput)

forms.py

class SelectList_Form(forms.Form):

    param = forms.CharField(widget=forms.HiddenInput, required=False)

    def clean(self):
        super(SelectList_Form, self)
        cleaned_data = self.cleaned_data
        try:

            print cleaned_data
            if cleaned_data['1-list[]']:
                print cleaned_data['1-list[]']


        except Exception, e:
            raise forms.ValidationError(_('Must select at least one of the lists below'))

1 Ответ

1 голос
/ 01 сентября 2011

mudhusudan привлек мое внимание к тому факту, что я упустил возможность поместить чистый метод в супер-вызов.Ниже код является исправлением

class SelectList_Form(forms.Form):

    param = forms.CharField(widget=forms.HiddenInput, required=False)

    def clean(self):
        super(SelectList_Form, self).clean()
        cleaned_data = self.cleaned_data
        try:

            print cleaned_data
            if cleaned_data['1-list[]']:
                print cleaned_data['1-list[]']


        except Exception, e:
            raise forms.ValidationError(_('Must select at least one of the lists below'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...