cleaned_data() не имеет некоторых введенных данных
У меня есть простая форма для ввода пользователем имени (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 ответа
Форма, которую я использовал в POST, не включала поле Sex, поэтому данные исчезли.
Это может быть глупо, но правильно ли вы отформатировали SEX_CHOICES над классом или в каталоге глобальных полей? ех.
SEX_CHOICES = (
('M', 'Male'),
('F', 'Female'),
('O', 'Other'),
)
Или, может быть, лучше отформатировать Sex как виджет forms.radio, чтобы у вас были переключатели вместо выпадающего списка, так как я считаю, что поле выбора по умолчанию имеет значение (поправьте меня, если я ошибаюсь)