2014-11-24 52 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')