cleaned_data () не имеет некоторых введенных данных - PullRequest
0 голосов
/ 08 июня 2010

У меня есть простая форма для ввода пользователем имени (CharField), возраста (IntegerField) и пола (ChoiceField). Однако данные, взятые из поля Выбор пола, не отображаются в моем cleaned_data (). Используя отладчик, я ясно вижу, что данные принимаются в правильном формате, но как только я выполняю функцию form.cleaned_data (), все признаки данных моего поля выбора исчезают. Любая помощь будет принята с благодарностью. Вот относительный код:

  class InformationForm(forms.Form):
     Name = forms.CharField()
     Age = forms.IntegerField()
     Sex = forms.ChoiceField(SEX_CHOICES, required=True)

   def get_information(request, username):
       if request.method == 'GET':
           form = InformationForm()   
       else:
           form = RelativeForm(request.POST)
           if form.is_valid():
               relative_data = form.cleaned_data

Ответы [ 2 ]

0 голосов
/ 09 июня 2010

Форма, которую я использовал в POST, не включала поле Sex, поэтому, конечно, данные исчезли.

0 голосов
/ 08 июня 2010

Это может быть глупо, но вы правильно отформатировали SEX_CHOICES выше класса или в каталоге глобальных полей?ех.

SEX_CHOICES = (
    ('M', 'Male'),
    ('F', 'Female'),
    ('O', 'Other'),
)

Или, может быть, лучше отформатировать Sex в качестве виджета forms.radio, чтобы у вас вместо переключателя были переключатели, а я считаю, что поле выбора по умолчанию имеет значение (поправьте меня, если я ошибаюсь)

...