反向查询django扩展用户配置文件

时间:2011-07-09 02:20:26

标签: django-models django-views

我已通过UserAUTH_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 个答案:

答案 0 :(得分:1)

您的“个人资料”对象不是User,也不是User(在面向对象的意义上)。相反,它是一个单独的模型,具有ForeignKeyUser

用户>个人资料>项目

在您发布的代码中,您似乎期望从User查询集返回project.userprofile_set.all()个对象。但是,这些将成为您的中间配置文件对象,然后您可以从中访问该用户。

这样的事情:

related_profiles = project.userprofile_set.all()

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