2012-02-14 4 views
1

내 UserProfile 모델에서 User와 관련된 필드에 문제가 있습니다.장고의 사용자 및 사용자 프로필 파일

내 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로 반환하는 방법이 있습니까?

편집 :

내가 일을하려고 있었는지 알아 냈 혼란에 대한

죄송합니다 :

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

질문을 이해할 수 없습니다. 사용자 개체 또는 UserProfile이 필요합니까? – 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

단지 하나의 관계가 아니므로 고려중인 두면 이상입니다. 사용자는 프로필 개체 (FK)와 관계가 있고 사용자 개체 (M2M)가 많은 개체도 있습니다.