重复键值违反唯一约束“unique_followuser”

时间:2021-02-07 11:42:50

标签: django django-rest-framework

class FollowUserModel(models.Model):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    author = models.ForeignKey(User,on_delete=models.CASCADE,related_name='followers')
    profile = models.ForeignKey(User,on_delete=models.CASCADE,related_name='following')
    timestamp = models.DateTimeField(auto_now_add=True)

    class Meta:
 constraints = [models.UniqueConstraint(fields=['author', 'profile'],name='unique_followuser')]

我想要做的基本上是我想要一个不对称的跟随功能。就像如果: 用户 1 跟随用户 2, user2 也应该可以关注 user1。

但问题是当user1跟随user2时,由于唯一约束,user2不能非对称跟随user1。

有什么解决办法吗?

1 个答案:

答案 0 :(得分:0)

ManyToMany 归档将解决您独特的约束问题:

示例解决方案:

---
author = models.ForeignKey(User,on_delete=models.CASCADE,related_name='user')
followers = models.ManyToMany(User,on_delete=models.CASCADE,related_name='followers')
---

相关问题