首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用userGroups获取所有用户

使用userGroups获取所有用户
EN

Stack Overflow用户
提问于 2019-07-12 07:21:30
回答 1查看 18关注 0票数 0

我正在尝试写一个方法,可以返回所有的用户从django defaultDb。下面的代码将为我提供所有用户:

代码语言:javascript
复制
User.objects.all()

现在,作为响应的一部分,我想向每个用户添加用户组。我知道我可以解析每个用户并获得用户组,如下所示:

代码语言:javascript
复制
user.groups.values_list('name',flat=True)

但我觉得这是非常昂贵的操作,因为它涉及n个用户从Db读取n个数据。有没有其他更好的方法来做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2019-07-12 07:24:24

您可以使用prefetch_related在1个附加查询中提取所有相关组

代码语言:javascript
复制
User.objects.prefetch_related('groups')

现在,您可以遍历所有用户,然后访问每个用户组,而不会产生额外的数据库访问

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56998446

复制
相关文章

相似问题

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