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相加