如何实现双向“unique_together”约束?

时间:2017-12-05 05:06:58

标签: django django-models

我正在寻找具有两种方式的两个字段的unique_together功能。比如说,如果我有两个这样的字段:

class Pair(models.Model):

    requester = models.ForeignKey(Profile, related_name='pairing_requester')
    accepter = models.ForeignKey(Profile, related_name='pairing_accepter')
    class Meta():
        unique_together = ('requester', 'accepter')

我怎样才能确保不仅两个配置文件的一个组合(requester = a,accepter = b)是唯一的,反之亦然? (requester = b,accepter = a)。我不是要创建两个Pair对象。我的意思是一对将确保无法在交换角色的另一对中创建两个配置文件。

编辑:如果使用unique_together不是正确的方法,我该如何实现类似的结果呢?确保任意数量的两个配置文件只会导致一个Pair对象。

0 个答案:

没有答案