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相加
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章