2016-09-11 21 views
1

自己参照m2mフィールドを作成しようとするとエラーが発生します。私はここに何かを逃していますかDjangoの自己参照m2mフィールドの原因が原因で属性エラーが発生しない

どこかのシリアライザで
class UserProfile(models.Model): 
    following = models.ManyToManyField('self', related_name='followers') 

def get_followers(user): 
    return user.profile.followers 

AttributeError: 'UserProfile' object has no attribute 'followers' 

は、私は信者を実装することができます別の方法はありますか?たぶん私はこれを行うか、ライブラリを使用する別のモデルを作成する必要がありますか?

答えて

0

デフォルトでは、Djangoはすべてself m2mの関係を対称として扱います。たとえば、私があなたの友人であれば、あなたも私の友人です。リレーションが対称である場合、Djangoはあなたのモデルに対してリバースリレーションアトリビュートを作成しません。

あなたは非対称の関係を定義する場合、自分フィールド上にsymmetrical=False属性を設定し、例:Django documentation

でその上

following = models.ManyToManyField('self', related_name='followers', symmetrical=False) 

詳細

関連する問題