Django模型关联,用户,配置文件和想法模型

时间:2010-08-07 06:14:17

标签: django-models django-templates

我有一个应用程序,它使用'django-registration'一个名为'idea'的自定义构建模型以及'userprofile'

现在,Idea类如下所示

  

类Idea(models.Model):
       title = ...
       user = models.ForeignKey(User)

User类是Django的Auth用户系统。

UserProfile看起来如下。

  

类UserProfile(ImageModel):
      user = models.ForeignKey(User)
      image = models.ImageField(.....)

现在让我们在我的首页上说我想显示所有的想法,并让用户和他的“头像”显示。

如何关联所有三个模型而无需通过上下文进行渲染。

  

{%for ideas%}}       {{idea.user.get_full_name}}刚刚发布了一个名为{{idea.title}}的想法   {%endofr%}

现在我想在此显示用户个人资料照片。

我能想出的最好的是

  

{%for userprofile in idea.user_set.all%}
  img src =“{{userprofile.image}}”
      {%endfor%}

2 个答案:

答案 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 %}

答案 1 :(得分:0)

我认为从长远来看,最简单的方法是注册一个包含标记,以便您可以在任何模型中重复使用它。