乾草我有一個關於關係的問題。django ManyToMany通過幫助
我想讓用戶有友誼。所以用戶可以成爲另一個用戶的朋友。我假設我需要通過友誼表使用ManyToManyField。但我無法實現它的工作。有任何想法嗎?
這是我的模特。
class User(models.Model):
username = models.CharField(max_length=999)
password = models.CharField(max_length=999)
created_on = models.DateField(auto_now = False, auto_now_add = True)
updated_on = models.DateField(auto_now = True, auto_now_add = False)
friends = models.ManyToManyField('self')
pendingFriends = models.ManyToManyField('self', through='PendingFriendship', symmetrical=False, related_name='friend_requested')
class PendingFriendship(models.Model):
user = models.ForeignKey('User', related_name='user')
requested_friend = models.ForeignKey('User', related_name='requested_friend')
created_on = models.DateField(auto_now = False, auto_now_add = True)
updated_on = models.DateField(auto_now = True, auto_now_add = False)
感謝
我已更新了示例,並附有您的修改。不過,我仍然需要額外的表來保存數據。 – dotty
@dotty:我更新了我的答案。 –
嗯,我更新了我的模型,它通過驗證罰款。我添加了幾個用戶。並在用戶A的模型上創建了PendingFriendship對象。這增加了友誼,但是用戶b的對象並沒有得到友誼的另一面(因爲'對稱'值是假的,所以我們不認爲)。我希望這種關係是對稱的。有任何想法嗎? – dotty