django對資料庫查詢基本方法

CBDmax發表於2020-09-26

django對資料庫進行條件查詢的時候通常格式是  欄位名+兩個下劃線+查詢方法

這些查詢方法 get和filter都可以使用。但是要注意get每次返回的值是唯一的否則報錯。

all:

返回全部資料,返回的是queryset物件,

lt:

返回小於設定的目標值的queryset:

lte:

返回小於等於目標值的queryset:

gt:

返回大於目標值的queryset:

gte:

返回大於等於目標值的queryset:

contains:

返回‘包含’該字元內容的資料的queryset,並且區分大小寫:

icontains:

返回包含該字元的queryset,這個是不區分大小寫。(使用sqlite3資料庫的時候這兩個方法一模一樣,沒區別)

基本所有的篩選方法都是有i不區分大小寫,沒有i區分

exact:

返回精確匹配該值的queryset,contains是包含,這個是等於的關係,同時區分大小寫;

iexact:

不區分大小寫,這個跟contains加不加i正好相反

 

startswith:

起始匹配,區分大小寫,+i不區分

endswith:

末尾匹配,區分大小寫+i不區分

同時他們兩個也可以混合使用:

in:

可以同時查詢多個複合條件的資料,並返回queryset,相當於批量的精確查詢:

range:

去範圍內的值(兩邊都是閉合狀態,兩側都包含)只要是包含這個範圍內的值都會返回:

 

 

isnull:

返回時空值的資料True為空,False非空:

Q:

多條件聯合查詢,使用前需要from django.db.models improt Q匯入模組

使用Q()傳入相應的條件,然後把Q傳入查詢的函式中,可以傳入多個Q,然後進行查詢,q1,q2中間是逗號的時候是取交集,丨 為並集。

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章