原文:https://blog.csdn.net/smartwu_sir/article/details/80068696

1. 通过自带的方法:

a1 = User.objects.filter(id__gt=8)
a2 = User.objects.filter(id__lt=4)

a3 = a1 | a2
  • 1
  • 2
  • 3
  • 4
注:这种方式合并的结构还是一个queryset,相当于a3把a1和a2的条件合并了,推荐,因为可以用order_by等函数了
只能合并同种model对象的数据

2. 用python的chain合并

from itertools import chain

a1 = User.objects.filter(id__gt=8)
a2 = User.objects.filter(id__lt=4)

a3 = chain(a1, a2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
这时候a3是个可迭代对象,把a1和a2分别求出来之后合并成了一个可迭代对象,
他可以作用于其他可迭代对象中他可以把不同model的对象合并,类似于与list相加

相关文章:

  • 2022-01-30
  • 2022-12-23
  • 2021-08-19
  • 2021-09-02
  • 2022-12-23
  • 2021-07-25
猜你喜欢
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2021-06-24
  • 2022-12-23
相关资源
相似解决方案