我有一个QuerySet列表(qs1,qs2,…,qsn(,其长度不是固定的(取决于其他变量(。我需要将所有这些QuerySet合并到一个QuerySet中。我有这样的东西:
list1 = [qs1, qs2, ..., qsn]
我知道Django中有一个函数允许我这样做,但前提是我确切地知道我想加入多少QuerySet。由于在这种情况下,列表中QuerySet的数量(我想合并的那些(不同,所以我不能使用
qs1.union(qs2, qs3)
因为我的列表中不会总是只有这三个QuerySet,有时我只会有一个、两个或一千个。
知道列表的长度不是固定的,并且我需要一个最终的QuerySet,它包括列表list1
中所有QuerySet的结果,无论它包含多少QuerySet,是否有一个函数允许我将该列表中的所有QuerySet合并为一个QuerySet?提前非常感谢。
根据Django文档,您可以使用qs1.union(*queryset_list)