Django ORM 常用的13個方法

2022-09-01 19:24:11 字數 4901 閱讀 3197

介紹乙個可以以py指令碼方式執行orm操作的方法:

可在專案內新建個py檔案,複製專案內manage.py檔案中的以下**:

if __name__ == "__main__":

os.environ.setdefault("django_settings_module", "orm1.settings")

import django  # 手動新增匯入

django.setup()  # 啟動

然後就可以以右鍵執行的方式來操作orm語句了.

一. 必會的13條方法:

1. models.book.objects.all()  # 獲取到所有的書籍物件,結果是物件列表

2. models.book.objects.get(條件)  # 獲取符合條件的物件

3. models.book.objects.filter(條件)  # 篩選所有符合條件的,結果是物件列表

4. models.book.objects.exclude(條件)  # 篩選出所有不符合條件的,結果是物件列表

5. models.book.objects.all().values( )  # 字典列表,[ , ]

values(『id』)括號內不指定時顯示全部,如指定則只顯示指定的,[ , ]

6. models.book.objects.all().values_list( )  # 元組列表,[ (1,20) , (2,18) ]同上,指定時顯示指定內容

7. models.book.objects.all().order_by(『id』)  # 按照id公升序就行排列

models.book.objects.all().order_by(『-id』)  # 按照id降序就行排列

models.book.objects.all().order_by(『age』 , 『-id』)  # 先按age公升序,age相同的按id進行降序排列

8. models.book.objects.all().order_by(『id』).reverse()  # 對結果反轉; 注意reverse前必須排序,

否則reverse無效; 或在model.py檔案中book類中的meta中指定ordering=(『id』 , )注意逗號必須有

9. distinct():  # 去重,當獲取到的結果queryset列表中同一物件出現多次時去重,只留乙個

10. models.book.objects.all().count()  # 計數,可統計結果個數,如對queryset內元素數進行統計.

11. models.book.objects.all().first()  # 獲取結果中的第一條,即使前面結果列表為空,也不會報錯

12. models.book.objects.filter().last()  # 獲取結果中的最後一條

13.models.book.objects.filter().exists()  # 判斷queryset列表是否有東西,結果為true或false; 

二. 小結:

返回物件列表(queryset)的方法有:

all()   filter()   ordey_by()   exclude()   values()   values_list()   reverse()   distinct()

返回單個物件的方法有:

first()   last()   get()   create()建立乙個物件,且返回剛建立的物件

判斷布林值的有:

exists()

返回數字的有:

count()

函式名稱或修飾詞

說明filter()

返回符合指定條件的queryset

exclude()

返回不符合指定條件的queryset

ordey_by()

串接到queryset之後,針對某一指定的字段進行排序

all()

返回所有的queryset

get()

獲取指定符合條件的唯一元素,如果找不到或有乙個以上符合條件,都會產生exception

first()/last()

獲取第1個和最後乙個元素

aggregate()

可以用來計算資料項的聚合函式

exists()

用來檢查是否存在某指令條件的記錄,通常附加在filter後面

update()

用來快速更新某些資料記錄中的字段內容

delete()

刪除指定的記錄

iexact

不區分大小寫的條件設定

contains/icontains

設定條件為含有某一字串就符合,如sql語句中的like和ilike

in  

提供乙個列表,只要符合列表中任何乙個值均可

gt/gte/lt/le  

大於/大於等於/小於/小於等於

介紹乙個可以以py指令碼方式執行orm操作的方法:

可在專案內新建個py檔案,複製專案內manage.py檔案中的以下**:

if __name__ == "__main__":

os.environ.setdefault("django_settings_module", "orm1.settings")

import django  # 手動新增匯入

django.setup()  # 啟動

然後就可以以右鍵執行的方式來操作orm語句了.

一. 必會的13條方法:

1. models.book.objects.all()  # 獲取到所有的書籍物件,結果是物件列表

2. models.book.objects.get(條件)  # 獲取符合條件的物件

3. models.book.objects.filter(條件)  # 篩選所有符合條件的,結果是物件列表

4. models.book.objects.exclude(條件)  # 篩選出所有不符合條件的,結果是物件列表

5. models.book.objects.all().values( )  # 字典列表,[ , ]

values(『id』)括號內不指定時顯示全部,如指定則只顯示指定的,[ , ]

6. models.book.objects.all().values_list( )  # 元組列表,[ (1,20) , (2,18) ]同上,指定時顯示指定內容

7. models.book.objects.all().order_by(『id』)  # 按照id公升序就行排列

models.book.objects.all().order_by(『-id』)  # 按照id降序就行排列

models.book.objects.all().order_by(『age』 , 『-id』)  # 先按age公升序,age相同的按id進行降序排列

8. models.book.objects.all().order_by(『id』).reverse()  # 對結果反轉; 注意reverse前必須排序,

否則reverse無效; 或在model.py檔案中book類中的meta中指定ordering=(『id』 , )注意逗號必須有

9. distinct():  # 去重,當獲取到的結果queryset列表中同一物件出現多次時去重,只留乙個

10. models.book.objects.all().count()  # 計數,可統計結果個數,如對queryset內元素數進行統計.

11. models.book.objects.all().first()  # 獲取結果中的第一條,即使前面結果列表為空,也不會報錯

12. models.book.objects.filter().last()  # 獲取結果中的最後一條

13.models.book.objects.filter().exists()  # 判斷queryset列表是否有東西,結果為true或false; 

二. 小結:

返回物件列表(queryset)的方法有:

all()   filter()   ordey_by()   exclude()   values()   values_list()   reverse()   distinct()

返回單個物件的方法有:

first()   last()   get()   create()建立乙個物件,且返回剛建立的物件

判斷布林值的有:

exists()

返回數字的有:

count()

函式名稱或修飾詞

說明filter()

返回符合指定條件的queryset

exclude()

返回不符合指定條件的queryset

ordey_by()

串接到queryset之後,針對某一指定的字段進行排序

all()

返回所有的queryset

get()

獲取指定符合條件的唯一元素,如果找不到或有乙個以上符合條件,都會產生exception

first()/last()

獲取第1個和最後乙個元素

aggregate()

可以用來計算資料項的聚合函式

exists()

用來檢查是否存在某指令條件的記錄,通常附加在filter後面

update()

用來快速更新某些資料記錄中的字段內容

delete()

刪除指定的記錄

iexact

不區分大小寫的條件設定

contains/icontains

設定條件為含有某一字串就符合,如sql語句中的like和ilike

in  

提供乙個列表,只要符合列表中任何乙個值均可

gt/gte/lt/le  

大於/大於等於/小於/小於等於

示波器常用的13個概念

1 頻寬 指的是正弦輸入訊號衰減到其實際幅度的70.7 時的頻率值,即 3db點 基於對數標度 本規範指出示波器所能準確測量的頻率範圍。頻寬決定示波器對訊號的基本測量能力。隨著訊號頻率的增加,示波器對訊號準確顯示能力將下降。如果沒有足夠的頻寬,示波器將無法分辨高頻變化。幅度將出現失真,邊緣將會消失,...

Visual Studio 最常用的13個快捷鍵

字型大小 小 大 2009 04 24 18 20 如果你經常使用visual studio 2008開發程式,下面13個最常用快捷鍵 你一定很熟悉。1.f5 啟動除錯 2.f7 shift f7 顯示 視窗或顯示設計器視窗 3.alt enter 顯示選中物件的屬性 這是個常用的windows快捷...

Visual Studio中最常用的13個快捷鍵

2009 04 30 15 26 佚名 中國it實驗室 字型大小 t t 本文將為大家介紹visual studio中最常用的13個快捷鍵,輔以的介紹一定能讓大家更加熟練地使用這些快捷鍵,提高工作效率。ad 2013雲計算架構師峰會超低價搶票中 1.f5 啟動除錯 2.f7 shift f7 顯示 ...