2
Formset is_valid returns「雖然字段爲空時Form類只有一個字段
我使用」 python manage.py shell「
如您所見,當」ArticleForm「類只有標題字段時,formset的is_valid函數返回」True「。
由於此問題,我看到有人使用has_changed函數。
但我不認爲這是解決這個問題的好方法。
Django Formset is_valid雖然當Form類只有一個字段時該字段爲空,但該字段爲空
from django import forms
from django.forms.formsets import formset_factory
class ArticleForm(forms.Form):
title = forms.CharField()
ArticleFormSet = formset_factory(ArticleForm)
data = {
'form-TOTAL_FORMS': '2',
'form-INITIAL_FORMS': '0',
'form-MAX_NUM_FORMS': '',
'form-0-title': 'Test',
'form-1-title': '',
}
formset = ArticleFormSet(data)
formset.is_valid()
#True - I think it has to be "False" because the "form-1-title' is empty
formset.errors
#[{}, {}]
class ArticleForm(forms.Form):
title = forms.CharField()
pub_date = forms.DateField()
ArticleFormSet = formset_factory(ArticleForm)
data = {
'form-TOTAL_FORMS': '2',
'form-INITIAL_FORMS': '0',
'form-MAX_NUM_FORMS': '',
'form-0-title': 'Test',
'form-0-pub_date': '1904-06-16',
'form-1-title': '',
'form-1-pub_date': '1904-06-16',
}
formset = ArticleFormSet(data)
formset.is_valid()
#False - It's working. I think the reason is the pub_date field.
formset.errors
#[{}, {'title': [u'This field is required.']}]