django queryset 合并

django queryset 合并

1. 通过自带的方法:

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

a3 = a1 | a2
# 注:这种方式合并的结构还是一个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)
# 这时候a3是个可迭代对象,把a1和a2分别求出来之后合并成了一个可迭代对象,
# 他可以作用于其他可迭代对象中他可以把不同model的对象合并,类似于与list相加
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章