我有一個自引用許多一對多的關係,像這樣:Django的許多一對多的關係排列關係
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
有沒有一種簡單的方法來做到這一點不是通過所有的鏈接,並添加缺少connectinos迭代?
謝謝!所有的幫助表示讚賞。
你有這個理由需要這樣做嗎?創建可以引用User實例的「Group」模型有什麼不妥? –
嘿馬庫斯,謝謝你的回覆。不確定我瞭解如何設置組模型並覆蓋用戶之間的所有排列鏈接?如果您能澄清 –
,我將不勝感激您是否嘗試將新用戶添加到所有現有用戶? –