__init __()得到了一个意外的关键字参数' required'

时间:2014-07-28 08:36:26

标签: python django forms required

出于某种原因,Django不允许将参数required=False传递给我的表单字段。

这是我的表格:

class InstrumentSearch(forms.ModelForm): 
    groups = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, required=False)
    time = forms.TimeInput(required=False)
    date = forms.DateField(required=False)
    notes = forms.TextInput(required=False)

错误在行

time = forms.TimeInput(required=False)

根据Django Documentation here,这应该绝对有用。

2 个答案:

答案 0 :(得分:0)

在我看来,TimeInput继承自Widget(通过TextInput),它接受一个字典中的属性作为attrs参数。 TextInput的示例显示了必需的用法:

>>> name = forms.TextInput(attrs={'required': False})

相比之下,Field子类(如TimeField和CharField)会接受您使用的关键字参数。

答案 1 :(得分:-1)

不要使用required,而是尝试使用blankblank=False表示不需要。

time = forms.TimeInput(blank=True)