我有一个定义为形式的选择字段
REFERRAL_CHOICES = (
(None, 'Please choose'),
('search', 'From a search engine'),
('social', 'From a social network'),
)
referral_source = forms.ChoiceField(
choices=REFERRAL_CHOICES
)
我还有一个clean_company_size
函数可以检查字段是否设置为合适的值:
def clean_company_size(self):
company_size = self.cleaned_data.get('company_size', None)
if company_size is None:
raise ValidationError('Please select a company size')
return company_size
如果我or company_size == 'None'
在上面的无检查中添加一个条件,一切正常。但是,我很好奇为什么 None 值被强制转换为字符串。在选择字段中完成默认提示并要求该字段的最佳方法是什么?