私は次のモデル設定をしています。contrib.auth.userモデルを試して拡張し、「リレーションシップ」管理を追加してください
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')
ここで私はUserオブジェクトを取得し、Contrib_to_classを使用してUserオブジェクトに「relationships」を追加します。関係が表示されますが、User.relationships.friendsを呼び出すとfriends()メソッドが実行されますが、失敗します。どのように私はこれを行うだろう任意のアイデア?
たぶん、あなたはコールで ".objects" 欠落しているおかげで
なぜユーザープロファイル機能を使用していませんか? http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-usersこれは 'User'クラスに機能を追加する適切な方法です。 –
私はこれを「アプリ」としてリリースしたいと思っており、すべてのユーザーがプロファイルモジュールの設定を持っているわけではありません。 – dotty
これは 'settings'への1行の変更です。だから誰も*プロファイルモジュールを設定できました。 –