我如何创建一个Django ModelForm,以便有时需要它的字段,有时不是?

时间:2010-06-01 09:35:09

标签: python django modelform

好的,这是问题所在。 想象一下,我有一个只有两个字段的ModelForm。喜欢这个:

class ColorForm(forms.Form):
    color_by_name = forms.CharField()
    color = forms.IntegerField(widget = forms.Select(choices=COLOR_CHOICES))

因此,用户可以输入颜色名称,从列表中选择颜色名称。颜色是必需的,但这并不意味着用户应手动输入。我是否进行了验证,以便我的代码检查用户是否在下拉列表中选择了颜色,如果没有,那么他应该手动编写它?

1 个答案:

答案 0 :(得分:7)

将它们设为required=False,但写一个clean()方法来检查其中一个。有关示例,请参阅the validation documentation