2013-07-23 25 views
0

我想我的问题在标题中很清楚。Django Choicefield with required = True,空白选择也不例外

基本上我有一个形式与动态选择领域。我为选择字段创建一个空白选项。

choices = [('', '----------')] 

问题是如果我提交空白选项,表格验证。我安装了django 1.5,所以即使在早期版本中,像这样工作,并且抛出了验证异常,但现在不是。

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

我试图ovveride Choicefield和它的validate方法,但我仍然得到同样的结果:

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']) 

安迪想法的家伙?

回答

0

是的,这对我来说很清楚。但是当你改变required = False时你会得到什么。或者尝试在模型中使用django force_insert = True,我从来没有使用它,但尝试它。

+0

我有点亏本。它恰巧我在一个视图中初始化了表单,但是当表单被提交时,我将它重定向到另一个视图,其中使用request.POST填充了它。不知怎的,这起到了一定的作用,因为现在当我把所有东西都放在一个视图中时,验证按预期工作。 – Viktor