Python Django表单重新验证空/空字段
我有一个模型和两个字段,其中任何一个字段都设置为接受空值和空值。现在,我希望仅当其中一个字段被验证或填充时,才会发布我的模型表单。我已经有了jquery的答案,但我想知道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",
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值更新字段。例如:一个用户可能只想更新内容而忽略图像字段,而另一个用户可能想做完全相反的操作。。