class RequestForm(forms.ModelForm):
""" Online request.
"""
class Meta:
model = Request
fields = ["language", "daytime", "daysofweek", "phone", "email", "name"]
widgets = {
'language': forms.Select(),
'daytime': RadioSelectNotNull(),
'daysofweek': forms.CheckboxSelectMultiple()
}
如何安装强制性填写两个字段中的一个,'电话'或者'电子邮件'?
答案 0 :(得分:2)
您并不完全清楚自己要问的内容,但如果目的是要求phone
或email
中至少有一个非空白,请使用自定义clean
方法:
def clean(self):
cleaned_data = super(ContactForm, self).clean()
if not (cleaned_data.get('phone') or cleaned_data.get('email')):
raise ValidationError('At least one of phone or email is required.')
return cleaned_data
答案 1 :(得分:0)
如果您设置模型字段blank=false
,null=false
,ModelForm会根据需要对其进行处理。默认设置为False
。
https://docs.djangoproject.com/en/dev/ref/models/fields/#blank