对一对字段的唯一约束,双向

时间:2017-11-23 05:16:02

标签: sql django postgresql

以此模型为例

class Relationship(models.Model):
    user1 = models.ForeignKey(User)
    user2 = models.ForeignKey(User)

    class Meta:
        unique_together('user1', 'user2')

unique_together约束只能在一个方向上起作用。相同的关系可以用两种不同的方式表示:

user1 = Foo

user2 = Bar

user1 = Bar

user2 = Foo

是否可以使用unique_together在数据库级别强制执行双向约束?

修改:如果没有,该强制如何实施?

1 个答案:

答案 0 :(得分:0)

您始终可以覆盖模型的save()方法,以强制执行您能想到的最复杂的约束。