實現sql中的where功能,包括
對於過濾條件的使用,上述三個方法相同,故僅以filter進行講解。
過濾條件的表達語法如下:
屬性名稱__比較運算子=值
# 屬性名稱和比較運算子間使用兩個下劃線,所以屬性名不能包括多個下劃線
1)相等
exact:表示判等。
例:查詢編號為1的圖書。
bookinfo.objects.filter(id__exact=1)
可簡寫為:
bookinfo.objects.filter(id=1)
2)模糊查詢
contains:是否包含。
說明:如果要包含%無需轉義,直接寫即可。例:查詢書名包含』傳』的圖書。
bookinfo.objects.
filter
(btitle__contains=
'傳')
startswith、endswith:以指定值開頭或結尾。
例:查詢書名以』部』結尾的圖書
bookinfo.objects.
filter
(btitle__endswith=
'部')
以上運算子都區分大小寫,在這些運算子前加上i表示不區分大小寫,如iexact、icontains、istartswith、iendswith.3) 空查詢
isnull:是否為null。
例:查詢書名不為空的圖書。
bookinfo.objects.
filter
(btitle__isnull=
false
)
4) 範圍查詢
in:是否包含在範圍內。
例:查詢編號為1或3或5的圖書
bookinfo.objects.
filter
(id__in=[1
,3,5
])
5)比較查詢
例:查詢編號大於3的圖書
bookinfo.objects.
filter
(id__gt=
3)
不等於的運算子,使用exclude()過濾器。
例:查詢編號不等於3的圖書
bookinfo.objects.exclude(id=
3)
6)日期查詢
year、month、day、week_day、hour、minute、second:對日期時間型別的屬性進行運算。
例:查詢2023年發表的圖書。
bookinfo.objects.
filter
(bpub_date__year=
1980
)
例:查詢2023年1月1日後發表的圖書。
bookinfo.objects.
filter
(bpub_date__gt=date(
1990,1
,1))
看電影881有感
一直生活在東北,所了解的風土人情都是關東文化。對於中華其它文化元素了解的並不多。看881後,才感受到,原來福建歌也這樣好聽。一首首動聽的歌竄插在劇情之中,隨著劇情的發展撥動你的心弦,讓人為之感動。一人一半 感情不散 一人一素故 感情才會久 時光累計 安靜的淚滴 一心去追 愛那麼可貴 這樣的人 這樣地...
看電影881有感
一直生活在東北,所了解的風土人情都是關東文化。對於中華其它文化元素了解的並不多。看881後,才感受到,原來福建歌也這樣好聽。一首首動聽的歌竄插在劇情之中,隨著劇情的發展撥動你的心弦,讓人為之感動。一人一半 感情不散 一人一素故 感情才會久 時光累計 安靜的淚滴 一心去追 愛那麼可貴 這樣的人 這樣地...
Elasticsearch的過濾查詢
宣告 我使用的elasticsearch的版本是5.4.0,具體參考下面的鏈結 filtered 查詢已經被bool 查詢取代了,bool查詢 對應的php查詢的body如下 1 帶過濾的查詢語句,過濾where furniture type id 1 and apt id 1266 2 param...