我正在尝试写一个方法,可以返回所有的用户从django defaultDb。下面的代码将为我提供所有用户:
User.objects.all()现在,作为响应的一部分,我想向每个用户添加用户组。我知道我可以解析每个用户并获得用户组,如下所示:
user.groups.values_list('name',flat=True)但我觉得这是非常昂贵的操作,因为它涉及n个用户从Db读取n个数据。有没有其他更好的方法来做到这一点?
发布于 2019-07-12 07:24:24
您可以使用prefetch_related在1个附加查询中提取所有相关组
User.objects.prefetch_related('groups')现在,您可以遍历所有用户,然后访问每个用户组,而不会产生额外的数据库访问
https://stackoverflow.com/questions/56998446
复制相似问题