2010-08-07 38 views
0

我有一个应用程序,使得使用的“Django的登记”命名的“观念”,也是一个“用户配置文件”Django的模型关联,用户配置文件和理念模型

如今的想法类看起来就像一个定制模式如下

类思想(models.Model):
标题= ...
用户= models.ForeignKey(用户)

用户类是Django的Auth用户SY干。

UserProfile看起来如下。

类用户配置(ImageModel):
用户= models.ForeignKey(用户)
图像= models.ImageField(.....)

现在让我在头版说,我想显示所有Idea,并让用户和他的“头像”显示。

如何关联所有三个模型,而不必通过上下文呈现它。

{%,为思想观念%}
{{idea.user.get_full_name}}刚刚发布了一个想法与{{idea.title}}
{%endofr%}

名称

现在我想在这里也显示用户个人资料图片。

最佳我可以想出是

{%为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 %}