Django模型基于两个变量防止重复

Django模型基于两个变量防止重复,django,django-models,Django,Django Models,我需要确保条目没有相同的项目和案例id 防止重复输入的最佳方法是什么 在这里,项目不能有两次相同的情况 class Cases(models.Model ): project = models.ForeignKey ( Project, on_delete = models.CASCADE ) case = models.ForeignKey ( Case, on_delete = models.CASCADE ) active = models.BooleanFiel

我需要确保条目没有相同的项目和案例id

防止重复输入的最佳方法是什么

在这里,项目不能有两次相同的情况

class Cases(models.Model ):

    project = models.ForeignKey ( Project, on_delete = models.CASCADE )
    case = models.ForeignKey ( Case, on_delete = models.CASCADE )
    active = models.BooleanField ( default = 1 )

谢谢。

您可以在您的模型中的
Meta
类中一起使用
unique\u
,如下所示

class Cases(models.Model ):

    project = models.ForeignKey ( Project, on_delete = models.CASCADE )
    case = models.ForeignKey ( Case, on_delete = models.CASCADE )
    active = models.BooleanField ( default = 1 )

    class Meta:
        unique_together = ('project', 'case')

这将对
project\u id
case\u id
设置唯一约束,您可以在模型中的
Meta
类中一起使用
unique\u,如下所示

class Cases(models.Model ):

    project = models.ForeignKey ( Project, on_delete = models.CASCADE )
    case = models.ForeignKey ( Case, on_delete = models.CASCADE )
    active = models.BooleanField ( default = 1 )

    class Meta:
        unique_together = ('project', 'case')
这将在
project\u id
case\u id
上设置唯一约束检查此项