首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django筛选与用户组具有OneToOne关系的项目

Django筛选与用户组具有OneToOne关系的项目
EN

Stack Overflow用户
提问于 2013-01-26 20:53:18
回答 2查看 4.9K关注 0票数 4

在Django中,如果我有一个模型,比如一个与包含用户的(Django Auth)组相关的建筑物( OneToOne ),我如何找到用户所属的所有建筑物(也许这些建筑物就是用户工作的所有建筑物)?构建与Group是一对一的,因此构建有一个称为“group”的组外键字段。

我试过了

代码语言:javascript
运行
复制
Building.objects.filter(group__contains=user)
Building.objects.filter(group_user_set__contains=user)

我没有得到匹配项,而应该有匹配项。

EN

回答 2

Stack Overflow用户

发布于 2013-01-26 21:08:03

使用contains不是正确的选择,因为它搜索字段(字符串)中的表达式,而不是集合中的表达式。尝试使用:

代码语言:javascript
运行
复制
Buildings.objects.filter(group__user=user)
票数 7
EN

Stack Overflow用户

发布于 2013-01-26 20:58:39

如果是一对一的关系,为什么不直接返回组呢?

代码语言:javascript
运行
复制
result = []
u = User.objects.get(your user here)
for group in u.groups.all():
    result.append(group.whateverYourForeignKeyFieldIsCalled)
return result
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14537113

复制
相关文章

相似问题

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