8 8 1 過濾查詢

2021-10-07 20:58:53 字數 1917 閱讀 5955

實現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...