0

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

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

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

4

1 回答 1

7

把它们都做required=False,但是写一个clean()方法来检查一个或另一个。有关示例,请参阅验证文档。

于 2010-06-01T09:39:26.267 回答