Обратный запрос к расширенному профилю пользователя django - PullRequest
1 голос
/ 09 июля 2011

Я расширил User через AUTH_PROFILE_MODULE, чтобы включить поле ManyToMany для проектов, в которых участвует пользователь.

Я хочу изменить отношения и получить пользователей, связанных с данным проектом.

У моих пользователей есть профили (я успешно вернул их с related_projects = u.profile.projects).

related_users = project.userprofile_set.all() дает мне что-то - {% for user in related_users %} {{ user }} {% endfor %} дает User Profile for: richlyon. Но я не могу получить {{ user }}, чтобы получить какие-либо поля. Я пробовал {{ user.username }}.

Вопрос: я поступаю неправильно? А если нет, как я могу получить информацию о поле из обратной связи в расширенном профиле пользователя?

Спасибо, как всегда, за ваше время.

1 Ответ

1 голос
/ 09 июля 2011

Ваш объект профиля не является User и не расширяется User (в объектно-ориентированном смысле). Скорее, это отдельная модель с ForeignKey до User.

Пользователь> Профиль> Проекты

В коде, который вы опубликовали, похоже, что вы ожидаете, что объект User будет возвращен из набора запросов project.userprofile_set.all(). Однако это будут ваши промежуточные объекты профиля, из которых вы сможете получить доступ к пользователю.

Примерно так:

related_profiles = project.userprofile_set.all()

{% for profile in related_profiles %} 
    {{ profile.user.username }} 
{% endfor %} 
...