代码之家  ›  专栏  ›  技术社区  ›  ThunderHorn

Django admin必须在Django模型中填写其中一个字段

  •  0
  • ThunderHorn  · 技术社区  · 6 年前

    你好,我有个模特

    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 admin作为存储在模型中的数据的后端控制器,所以我希望使其中任何一个都不为null

    例如,用户必须填写 a b both 填补,但如果 二者都 如果为空,则必须抛出错误

    1 回复  |  直到 6 年前
        1
  •  2
  •   a_k_v    6 年前

    你可以加上 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(....)