【问题标题】:Merge or Union a list of dynamically created querysets - Django合并或联合动态创建的查询集列表 - Django
【发布时间】:2021-09-03 13:46:58
【问题描述】:

我有一个查询集列表,如下所示。有没有办法将列表的所有这些查询集合并到一个查询集中?该列表的查询集元素是动态确定的。如下例所示,它是列表中的三个查询集。在下一次假设的迭代中,它可能是 40 个查询集。

capture_list =[<QuerySet [<Fields_Model: Fields_Model object (11)>]>,<QuerySet [<Fields_Model: Fields_Model object (12)>]>,<QuerySet [<Fields_Model: Fields_Model object (13)>]>]

【问题讨论】:

    标签: python-3.x django django-models django-queryset


    【解决方案1】:

    您可以将这些与:

    Fields_Model.objects<b>.none().union(</b>*capture_list<b>)</b>

    因此,星号会将查询集“解包”为.union(…) call [Django-doc] 的单独参数。

    使用.union(…) 调用只会选择不同 对象,因此不会重复。如果要获取副本,可以all=True参数:

    Fields_Model.objects.none().union(*capture_list<b>, all=True</b>)

    【讨论】:

      猜你喜欢
      • 2014-05-31
      • 2012-10-29
      • 2023-03-27
      • 1970-01-01
      • 2014-11-11
      • 2021-11-10
      • 2013-04-18
      • 2019-12-04
      • 2016-05-02
      相关资源
      最近更新 更多