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

时间:2019-03-25 04:28:50

标签: 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.BooleanField ( default = 1 )

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以在模型中的unique_together类中使用Meta,如下所示。

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_idcase_id上设置唯一约束。