我有一个自我引用的多对多关系,如下所示:
class User(models.Model):
groups = models.ManyToManyField('self', blank=True, null=True)
当我在用户 1 和用户 2 之间创建关系时,这是双向的。我可以看到这个:
User_1_obj.groups.all()
User_2_obj.groups.all()
但是,当我使用以下方法将用户 3 添加到关系中时:
User_1_obj.groups.add(User_3_obj)
用户 1 和用户 3 是双向链接的。但我也希望用户 2 和用户 3(以及要链接的关系中的任何其他用户)。换句话说,我希望所有排列都相互关联,其中:
User 1 linked to User 2, User 3, User 4
User 2 linked to User 1, User 3, User 4
User 3 linked to User 1, User 2, User 4
User 4 linked to User 1, User 2, User 3
有没有比遍历所有链接并添加缺少的连接更简单的方法?
谢谢!感谢所有帮助。