2012-02-14 8 views
1

私のUserProfileモデルでUserに関連するフィールドに問題があります。DjangoのUserとUserProfileオブジェクト

私は私のUserProfileモデルでは、このフィールドを持っている:私は、ユーザーが

をオブジェクトとして

User.objects.get(pk=234).get_profile().friends.all() 

は私が呼び出すと、友人のセットを取得呼び出す

friends = models.ManyToManyField(User, null=True) 

User.objects.get(pk=234).friends_set.all() 

UserProfileオブジェクトのリストを取得します。

UserProfileオブジェクトとの関係を変更せずに、関係の各側がUserまたはUserProfileとして返される方法はありますか?

EDIT:

user = User.objects.get(pk=234) 
User.objects.filter(userprofile__friends=user).all() 
+0

私はあなたの質問を理解していません。 UserオブジェクトまたはUserProfilesが必要ですか? – Sid

+0

私はどちらかが欲しい - 限り、私は、関係の両側に同じ取得することができます。今は、片側だけUserProfilesを、反対側はUserを取得することができます。 –

答えて

1

私は、これは、特定のユーザーと友達であるUserProfileオブジェクトを選択するための方法であると信じている:私は私がやろうとしていたものを考え出し混乱のため

申し訳ありません:

UserProfile.objects.filter(friends__user = 234) 

そして、ここでは、ユーザーの同じセットのためUserオブジェクトです:

User.objects.filter(userprofile__friends__user = 234) 
+0

申し訳ありません私は私の質問でタイプミスがありました - 私はUserオブジェクトとUserProfileとしての関係の片側を取得します。関係の両面をUserProfileとしてどのように取得できますか? –

1

1つの関係だけではなく、あなたが検討している2つの側面だけがあります。ユーザーは、プロファイルオブジェクト(FK)との関係を持ち、ユーザーは多数のユーザーオブジェクト(M2M)を持ちます。

関連する問題