我需要确保如果模型M中的attribute A
具有特定值,则attribute B
将不会是None
。
例如:
M.A == True then M.B != None
M.A = False then M.B = anything (None, int..)
答案 0 :(得分:1)
您可以使用Model.clean()
:
class M(models.Model):
A = models.BooleanField()
B = models.IntegerField(null=True, blank=True)
def clean(self):
if self.A and self.B is None:
raise ValidationError("B can not be None lwhile A is None")
您将在无效的条件中提出ValidationError
。