Python Django表单重新验证空/空字段

Python Django表单重新验证空/空字段,python,django,Python,Django,我有一个模型和两个字段,其中任何一个字段都设置为接受空值和空值。现在,我希望仅当其中一个字段被验证或填充时,才会发布我的模型表单。我已经有了jquery的答案,但我想知道django是否可能 这是我的模型: class Post(models.Model): content = models.TextField(default=None, blank=True, null=True) image = models.FileField(upload_to="static/pic",

我有一个模型和两个字段,其中任何一个字段都设置为接受空值和空值。现在,我希望仅当其中一个字段被验证或填充时,才会发布我的模型表单。我已经有了jquery的答案,但我想知道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)

您可以在modelform中重写clean方法,如下所示:

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

如果要使用ModelForm进行验证,我认为您需要设置null=False,但是如果我这样做,我无法使用null值更新字段。例如:一个用户可能只想更新内容而忽略图像字段,而另一个用户可能想做完全相反的操作。。