【问题标题】:Reverse query on django extended user profiledjango扩展用户配置文件的反向查询
【发布时间】:2011-07-09 02:20:25
【问题描述】:

我通过AUTH_PROFILE_MODULE 扩展了User 以将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 }}

问题:我是不是走错了路?如果我不是,我如何从扩展用户配置文件的反向关系中获取字段信息?

一如既往地感谢您的宝贵时间。

【问题讨论】:

    标签: django-models django-views


    【解决方案1】:

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

    用户 > 个人资料 > 项目

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

    类似这样的:

    related_profiles = project.userprofile_set.all()
    
    {% for profile in related_profiles %} 
        {{ profile.user.username }} 
    {% endfor %} 
    

    【讨论】:

    • ...感谢您的解释和解决方案 - 效果很好。
    猜你喜欢
    • 2012-03-11
    • 2015-07-08
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 2018-01-26
    • 2012-07-22
    • 2013-06-19
    • 2014-03-27
    相关资源
    最近更新 更多