Django Choicefield,带required=True,空白选项无异常

Django Choicefield,带required=True,空白选项无异常,django,forms,choicefield,Django,Forms,Choicefield,我想我的问题从标题上看很清楚。 基本上,我有一个带有动态选择字段的表单。我为select字段创建了一个空白选项 choices = [('', '----------')] 问题是,若我提交空白选项,表单将进行验证。我已经安装了django 1.5,所以即使在早期版本中类似的东西可以工作,并且抛出了验证异常,但现在它不是 所以最大的问题是,我应该如何以及在哪里验证这样的东西? 我试图验证Choicefield及其验证方法,但仍然得到相同的结果: class DynamicChoiceFiel

我想我的问题从标题上看很清楚。

基本上,我有一个带有动态选择字段的表单。我为select字段创建了一个空白选项

 choices = [('', '----------')]
问题是,若我提交空白选项,表单将进行验证。我已经安装了django 1.5,所以即使在早期版本中类似的东西可以工作,并且抛出了验证异常,但现在它不是

所以最大的问题是,我应该如何以及在哪里验证这样的东西?

我试图验证Choicefield及其验证方法,但仍然得到相同的结果:

class DynamicChoiceField(forms.ChoiceField):
    # The only thing we need to override here is the validate function.
    def validate(self, value):
        if self.required and not value:
            raise ValidationError(self.error_messages['required'])

安迪,伙计们

是的,这对我来说非常清楚。但是当您更改required=False时得到的结果。或者尝试在模型中使用django force_insert=True,我从未使用过它,但尝试一下

我有点不知所措。碰巧我在一个视图中初始化了表单,但当表单提交时,我将其重定向到另一个视图,在该视图中填充了request.POST。不知何故,这起到了一定的作用,因为现在当我在一个视图中移动所有内容时,验证工作正如预期的那样。