Ich habe das folgende Modell-Setup.Probieren Sie und erweitern Sie das contrib.auth.user Modell und fügen Sie eine "Beziehungen" verwalten
from django.db import models
from django.contrib.auth.models import User
class SomeManager(models.Manager):
def friends(self):
# return friends bla bla bla
class Relationship(models.Model):
"""(Relationship description)"""
from_user = models.ForeignKey(User, related_name='from_user')
to_user = models.ForeignKey(User, related_name='to_user')
has_requested_friendship = models.BooleanField(default=True)
is_friend = models.BooleanField(default=False)
objects = SomeManager()
relationships = models.ManyToManyField(User, through=Relationship, symmetrical=False)
relationships.contribute_to_class(User, 'relationships')
Hier nehme ich das Benutzerobjekt und benutze contribute_to_class um 'Beziehungen' zum Benutzerobjekt hinzuzufügen. Die Beziehung wird angezeigt, aber wenn Sie User.relationships.friends aufrufen, sollte die Methode friends() ausgeführt werden. Irgendwelche Ideen, wie ich das machen würde?
Dank
Warum verwenden Sie nicht die Benutzerprofilfunktion? http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users Dies sollte der richtige Weg sein, Features zur 'User' Klasse hinzuzufügen. –
Ich hoffe, dies als "App" zu veröffentlichen und nicht jeder Benutzer hat das Profil-Modul-Setup. – dotty
Es ist eine einzeilige Änderung der Einstellungen, so dass jeder das Profilmodul konfigurieren kann. –