Django 模型关联、用户、配置文件和想法模型
Posted
技术标签:
【中文标题】Django 模型关联、用户、配置文件和想法模型【英文标题】:Django model association, users, profiles and idea model 【发布时间】:2011-03-26 15:42:49 【问题描述】:我有一个使用“django-registration”的应用,一个名为“idea”的定制模型和一个“userprofile”
现在 Idea 类如下所示
类创意(models.Model): 标题 = ... user = models.ForeignKey(User)
User 类是 Django 的 Auth User 系统。
UserProfile 如下所示。
类 UserProfile(ImageModel): user = models.ForeignKey(User) image = models.ImageField(.....)
现在让我们在我的首页说我想显示所有的想法,并让用户和他的“头像”显示。
如何在不通过 Context 渲染的情况下关联所有三个模型。
% for idea % idea.user.get_full_name 刚刚发布了一个名为 idea.title 的想法 % endofr %
现在我也想在其中显示用户的个人资料图片。
我能想到的最好的就是
% for userprofile in idea.user_set.all % img src=" userprofile.image " % endfor %
【问题讨论】:
【参考方案1】:我认为从长远来看,最简单的方法是注册一个包含标签,这样您就可以在任何模型中重复使用它。
【讨论】:
【参考方案2】:idea 实例通过 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 %
【讨论】:
以上是关于Django 模型关联、用户、配置文件和想法模型的主要内容,如果未能解决你的问题,请参考以下文章