Объекты User и UserProfile в Django - PullRequest
       34

Объекты User и UserProfile в Django

1 голос
/ 15 февраля 2012

У меня возникли проблемы с соответствующим полем для пользователя в моей модели UserProfile.

У меня есть это поле в моей модели UserProfile:

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

Когда я звоню

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

Я получаю набор друзей как объекты пользователя

Когда я звоню

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()

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Нет только одного отношения, поэтому есть не только две стороны, которые вы рассматриваете.Пользователь связан с объектом профиля (FK), а другой - с многочисленными объектами пользователя (M2M).

1 голос
/ 15 февраля 2012

Я считаю, что это способ выбрать UserProfile объекты, которые являются друзьями данного пользователя:

UserProfile.objects.filter(friends__user = 234)

А вот User объекты для одного и того же набора пользователей:

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