1. 程式人生 > >雙下劃線多表查詢

雙下劃線多表查詢

1基於雙下劃線的跨表查詢
套路一樣,用__跨表
-一對多
-多對多
2 聚合查詢
-聚合函式
from django.db.models import Avg,Count,Max,Min,Sum
# 計算所有圖書的平均價格
# ret=Book.objects.all().aggregate(Avg('price'))
# print(ret)


3分組查詢
終極總結:
values在前,表示group by,在後,表示取值
filter在前,表示過濾(where),在後,表示having(對分組之後的結果再進行過濾)
4 F查詢與Q查詢

-F為了欄位=後面的值,不能放欄位,所以用F函式包裹一下就可以了
-Q為了構造與&,或|,非~的關係

5 常用欄位:必須記住,非常用欄位,瞭解即可
6 orm欄位引數:
-null 可以為空
-unique 唯一性約束
-default 預設值
-db_index 為該欄位建索引
-只給日期型別和時間型別用
-auto_now_add 新增資料時,預設把當前時間存入
-auto_now 修改的時候,預設把當前時間存入
7 關係欄位
ForeignKey
-to 關聯哪個表
-to_field 關聯的欄位
-related_name 反向操作時,使用的欄位名,用於代替原反向查詢時的'表名_set'。(一般不要用)
-related_query_name :基於雙下劃線的反向查詢之前按表名小寫(一般不要用)
-on_delete:models.CASCADE,models.SET_NULL
-db_constraint:db_constraint=False代表,不做外來鍵關聯