Django-admin字段之一必须填写django-models

时间:2018-11-09 08:59:51

标签: django django-models django-admin

你好,我有类似的模型

class mymodel(models.Model):
    a = models.CharField(blank=True, null=True, max_length=255)
    b = models.CharField(blank=True, null=True, max_length=255)
    c = models.CharField(blank=False, null=False, max_length=255)

由于我将django管理员用作存储在模型中的数据的后端控制器,因此我想使其中任何一个都不为空

例如,用户必须填充a或填充bboth才能填充,但是如果both为空,则必须抛出错误

1 个答案:

答案 0 :(得分:2)

您可以像这样添加custom验证

class mymodel(models.Model):
    a = models.CharField(blank=True, null=True, max_length=255)
    b = models.CharField(blank=True, null=True, max_length=255)
    c = models.CharField(blank=False, null=False, max_length=255)

    def clean(self):
        if not (self.a and self.b):
            raise ValidationError(....)