Django基礎條件查詢

2021-10-12 10:14:41 字數 1746 閱讀 1259

實現sql中的where功能,包括

過濾條件的表達語法如下:

屬性名稱__比較運算子=值

# 屬性名稱和比較運算子間使用兩個下劃線,所以屬性名不能包括多個下劃線

1)相等

exact:表示判等。

# 例:查詢編號為1的圖書。

bookinfo.objects.

filter

(id__exact=1)

可簡寫為:

bookinfo.objects.

filter(id

=1)

2)模糊查詢

contains:是否包含。

說明:如果要包含%無需轉義,直接寫即可。

# 例:查詢書名包含'傳'的圖書。

bookinfo.objects.

filter

(name__contains=

'傳')

]>

startswith、endswith:以指定值開頭或結尾。

# 例:查詢書名以'部'結尾的圖書

>>

> bookinfo.objects.

filter

(name__endswith=

'部')

]>

以上運算子都區分大小寫,在這些運算子前加上i表示不區分大小寫,如iexact、icontains、istartswith、iendswith.

3) 空查詢

isnull:是否為null。

# 例:查詢書名為空的圖書。

>>

> bookinfo.objects.

filter

(name__isnull=

true

)]>

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.

filter

(id__gt=3)

]>

6)日期查詢

year、month、day、week_day、hour、minute、second:對日期時間型別的屬性進行運算。

# 例:查詢2023年發表的圖書。

>>

> bookinfo.objects.

filter

(pub_date__year=

1980

)]>

# 例:查詢2023年1月1日後發表的圖書。

>>

> bookinfo.objects.

filter

(pub_date__gt=

'1990-1-1'

)]>

Oracle基礎條件查詢

當我們要組合三個或者三個以上條件的時候,就需要用到小括號 來表示應該如何進行條件運算。例如,編寫乙個複雜的條件 工資在5000以下或者10000以上,並且是job id為sa man 按多個條件查詢employees 如果不加括號,條件運算按照not and or的優先順序進行 not優先順序最高,...

Django使用or條件查詢和各種查詢關鍵字

django使用or條件查詢 from django.db.models import q user.objects.filter q state 0 q state 1 django各種條件查詢關鍵字 exact 精確等於 like aaa iexact 精確等於 忽略大小寫 ilike aaa ...

SQL基礎 查詢資料 條件查詢

select語句可以通過where條件來設定查詢條件,查詢結果是滿足查詢條件的記錄。條件查詢語法 select from 表where 條件表達 例項 select from students where score 80 查詢結果 條件表示式可以用 條件1 and 條件2 表達滿足條件1並且滿足條...