Hay tôi có câu hỏi về các mối quan hệ.django ManyToMany qua trợ giúp
Tôi muốn Người dùng có tình bạn. Vì vậy, một người dùng có thể là một người bạn với một người dùng khác. Tôi giả sử tôi sẽ cần phải sử dụng ManyToManyField, thông qua một bảng Friendship. Nhưng tôi không thể làm cho nó hoạt động được. Bất kỳ ý tưởng?
Đây là các mô hình của tôi.
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)
Cảm ơn
Tôi đã cập nhật ví dụ, với sửa đổi của bạn. Tuy nhiên tôi vẫn cần thêm bảng để giữ dữ liệu. – dotty
@dotty: Tôi đã cập nhật câu trả lời của mình. –
hmm, ive cập nhật mô hình của tôi, nó vượt qua xác thực tốt. Ive đã thêm một vài Người dùng. và tạo đối tượng PendingFriendship trên mô hình của người dùng A.Điều này cho biết thêm tình bạn tốt đẹp, tuy nhiên đối tượng của người dùng b không nhận được phía bên kia của tình bạn (im asuming vì giá trị 'đối xứng' là sai). Tôi muốn mối quan hệ được đối xứng mặc dù. bất kỳ ý tưởng? – dotty