Hay Ich habe eine Frage über Beziehungen.django ManyToMany durch Hilfe
Ich möchte Benutzer zu Freundschaften haben. So kann ein Benutzer ein Freund mit einem anderen Benutzer sein. Ich gehe davon aus, dass ich das ManyToManyField über eine Friendship-Tabelle verwenden muss. Aber ich kann es nicht zur Arbeit bringen. Irgendwelche Ideen?
Hier sind meine Modelle.
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)
Dank
Ich habe das Beispiel aktualisiert, mit Ihrer Änderung. Allerdings brauche ich immer noch die zusätzliche Tabelle, um Daten zu halten. – dotty
@dotty: Ich habe meine Antwort aktualisiert. –
hmm, ive hat mein Modell aktualisiert, die Validierung ist in Ordnung. Ich habe ein paar Benutzer hinzugefügt. und erstellt ein PendingFriendship-Objekt auf dem Modell von Benutzer A.Dies fügt die Freundschaft gut hinzu, aber das Objekt von Benutzer b erhält nicht die andere Seite der Freundschaft (ich nehme an, weil der 'symmetrische' Wert falsch ist). Ich möchte aber, dass die Beziehung symmetrisch ist. irgendwelche Ideen? – dotty