Python 为Django模型中的相关对象字段添加CheckConstraint
我有两种Django型号:Python 为Django模型中的相关对象字段添加CheckConstraint,python,django,django-models,Python,Django,Django Models,我有两种Django型号: class A(models.Model): is_pure = models.BooleanField() class B(models.Model): a = models.ForeignKey(A, on_delete=models.CASCADE) class Meta: constraints = [ models.CheckConstraint( check
class A(models.Model):
is_pure = models.BooleanField()
class B(models.Model):
a = models.ForeignKey(A, on_delete=models.CASCADE)
class Meta:
constraints = [
models.CheckConstraint(
check=models.Q(a__is_pure=True),
name="a_is_pure"
)
]
我想添加一个约束,即任何B实例都不能引用其为\u pure
字段为False的a实例。
当我添加上述代码、进行迁移并尝试迁移时,会出现以下错误:
(models.E041)'constraints'指的是联接字段'a_u是纯的。
Django目前支持这样的东西吗?如果没有,您有什么建议?似乎您必须在Django之外将其作为触发器来实现: