2014-11-24 79 views
0

我有一个模型和两个字段,并且任何字段都设置为接受空值和空值。现在我希望我的modelForm只有在其中一个字段被验证或填充时才会发布。我已经有了jQuery的答案,但我想知道它是否可能与Django。Django重新验证空/空字段

继承人我的模型:

class Post(models.Model): 
    content = models.TextField(default=None, blank=True, null=True) 
    image = models.FileField(upload_to="static/pic", blank=True, null=True) 
+0

我认为你需要,如果你想使用的ModelForm – CrazyGeek 2014-11-24 08:05:12

+0

验证设置为null =虚假而如果我这样做,我不能更新空值的字段..例如:一个用户可能只想更新内容并忽略图像字段,而另一个用户可能想要做的完全相反。 – catastropic 2014-11-24 08:46:06

回答

0

可以重写清洁方法的ModelForm这样的:

def clean(self): 
    if self.cleaned_data['image'] is not None or self.cleaned_data['content'] != '' : 
      return super().clean() #For python 3 
      #return super(YourForm, self).clean() // for python 2 
    raise ValidationError('Some Error')