Django queryset reduce综合应用问题,djangoqueryset,我现在有一个数量未知的组


我现在有一个数量未知的组,然后想找出每个组的人。数据model如下:

class People(models.Model):    group = models.ForeignKey('Group')class Group(models.Model):    pass

代码中有一个Group的querysets(长度未知),为gs,然后想要找到所有对应的people。
我开始用的是reduce来做的。

return reduce(lambda x,y: People.objects.filter(group=x)|People.objects.filter(group=y),gs)

这个返回的结果数量很少,在我的环境下一共才有25个people。
然后我用循环的方法来获取people的集合。

res =Peopleo.objects.none()   for g in gs:      res = res | People.objects.filter(group=g) return res

这种方法返回的结果是对的,返回了3000个people。
我想请问,为什么使用reduce得到的结果会变少,是哪个地方写错了吗?

编橙之家文章,

评论关闭