合并或合并动态创建的查询集列表 - Django
Merge or Union a list of dynamically created querysets - Django
我有一个查询集列表如下。有没有办法将列表的所有这些查询集合并到一个查询集中?此列表的查询集元素是动态确定的。如下例所示,列表中有三个查询集。在下一个假设的迭代中,它可能是 40 个查询集。
capture_list =[<QuerySet [<Fields_Model: Fields_Model object (11)>]>,<QuerySet [<Fields_Model: Fields_Model object (12)>]>,<QuerySet [<Fields_Model: Fields_Model object (13)>]>]
您可以将它们合并为:
Fields_Model.objects<b>.none().union(</b>*capture_list<b>)</b>
此处星号将“解压”查询集作为 .union(…)
call [Django-doc].
的单独参数
使用 .union(…)
的调用只会 select distinct 个对象,因此不会重复。如果要获取重复项,可以all=True
参数:
Fields_Model.objects.none().union(*capture_list<b>, all=True</b>)
我有一个查询集列表如下。有没有办法将列表的所有这些查询集合并到一个查询集中?此列表的查询集元素是动态确定的。如下例所示,列表中有三个查询集。在下一个假设的迭代中,它可能是 40 个查询集。
capture_list =[<QuerySet [<Fields_Model: Fields_Model object (11)>]>,<QuerySet [<Fields_Model: Fields_Model object (12)>]>,<QuerySet [<Fields_Model: Fields_Model object (13)>]>]
您可以将它们合并为:
Fields_Model.objects<b>.none().union(</b>*capture_list<b>)</b>
此处星号将“解压”查询集作为 .union(…)
call [Django-doc].
使用 .union(…)
的调用只会 select distinct 个对象,因此不会重复。如果要获取重复项,可以all=True
参数:
Fields_Model.objects.none().union(*capture_list<b>, all=True</b>)