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。
有什么解决办法吗?
答案 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')
---