У меня есть форма, которую я не отображаю как часть HTML-страницы, но проверяю ввод:
class milestone_form(forms.Form):
name = forms.CharField(required=True)
completion = forms.IntegerField(initial=0, required=False)
due_date = forms.DateField(required=True,input_formats={'%d.%m.%Y'})
phase = forms.IntegerField(required=True)
этот бит завершения вызывает много проблем:
form = milestone_form(request.POST)
form.is_valid()#will return False on empty completion
Я попытался переопределить форму clean(), чтобы сделать завершение = 0, когда оно пусто:
def clean(self):
cleaned_data = self.cleaned_data
if cleaned_data.get('completion') is None:
cleaned_data['completion'] = 0
return cleaned_data
Однако это не помогает. Есть ли что-то еще, что мне не хватает?
input
для завершения в форму, но использовать виджетHiddenInput
, чтобы он не отображался. - person Timmy O'Mahony   schedule 31.03.2012<ul class="errorlist"><li>completion<ul class="errorlist"><li>Enter a whole number.</li></ul></li></ul>
хотя отладка формы показываетcompletion = {int} 0
- person abolotnov   schedule 01.04.2012