2010-08-07 3 views
0

У меня есть приложение, которое использует «Джанго регистрации» пользовательская построенную модель под названием «идея» и также «UserProfile»Джанго модель ассоциации, пользователи, профили и идея модель

Теперь класс Идеи выглядит следует

класса Идея (models.Model):
название = ...
пользователя = models.ForeignKey (пользователь)

класс пользователь Джанго Auth User сы Шток.

И UserProfile выглядит следующим образом.

класс UserProfile (ImageModel):
пользователя = models.ForeignKey (Пользователь)
изображения = models.ImageField (.....)

Теперь давайте говорить в моей главной странице я хочу для отображения всей идеи и отображения пользователя и его «аватара».

Как связать все три модели без необходимости их рендеринга через контекст.

{% идей в идее%}
{{}} idea.user.get_full_name только вывешенные идею с именем {{idea.title}}
{%}% endofr

Теперь я хотел бы показать профиль пользователя pic в этом тоже.

Лучшее, что я могу придумать это

{% для UserProfile в idea.user_set.all%}
IMG SRC = "{{}} userprofile.image"
{% ENDFOR%}

ответ

0

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

0

У экземпляра идеи есть пользователь, с помощью ForeignKey. В пользовательских экземплярах у вас есть метод get_profile, который возвращает связанный профиль для этого пользователя.

Так что вы могли бы сделать что-то вроде этого (непроверенные):

{% for idea in ideas %} 
    {{ idea.user.get_full_name }} <img src="{{ idea.user.get_profile.image }}"/> just posted an idea with the name {{ idea.title }} 
{% endfor %} 
Смежные вопросы