首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向后跟踪从M2O到O2O的关系?

如何向后跟踪从M2O到O2O的关系?
EN

Stack Overflow用户
提问于 2012-03-30 10:30:28
回答 2查看 148关注 0票数 1

UserProfile有一对一对“用户”和多对一到Place

代码语言:javascript
复制
class UserProfile( models.Model ) :
    user  = models.OneToOneField( User )
    place = models.ForeignKey( Place, null = True, blank = True )

在我对Place的详细视图中,我想列出Place的所有居民。换句话说,我想列出所有的User,其UserProfile具有指定的Place

在我的模板中,我尝试了

代码语言:javascript
复制
{% for resident in place.user_profile_set.user_set.all %}

但那不管用。我想我从根本上忽略了Django关于“倒退一段关系”的概念

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-30 11:04:33

你错过了两件事是的。

首先,从PlaceUserProfile的反向关系是userprofile_set,而不是user_profile_set

第二个问题是,从那里到User根本不是一个反向关系:它是向前的,因为FK是在UserProfile模型上定义的。因此,从UserProfileUser,您只需做.user -它是一个单一的元素,而不是查询集。

因此,正如pastylegs所说,您在place.userprofile_set.all中迭代配置文件并执行profile.user

票数 3
EN

Stack Overflow用户

发布于 2012-03-30 10:34:46

下面这样的东西呢?

代码语言:javascript
复制
{% for resident in place.userprofile_set.all %}
    {{ resident.user }}
{% endfor %}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9941276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档