一.使用Q對象進行限制條件之間 "或" 連接查詢 二.使用 startwith 和 endswith 進行欄位數據起始字元和結尾字元的條件查詢 PS:遇到問題沒人解答?需要Python學習資料?可以加點擊下方鏈接自行獲取 note.youdao.com/noteshare?id=2dce86d0c2 ...
一.使用Q對象進行限制條件之間 "或" 連接查詢
from django.db.models import Q
from django.contrib.auth.models import User
Obj = User.objects.filter(Q(name="Bob") | Q(age=28)) # 在用戶表中查詢name為 Bob 或者 age 為28的對象
二.使用 startwith 和 endswith 進行欄位數據起始字元和結尾字元的條件查詢
obj = User.objects.filter(name__startswith="X") # 查詢以 "X" 開頭的name欄位,欄位名和關鍵字之間用兩個下劃線連接
obj = User.objects.filter(email__endswith = "163.com") # 查詢使用了163郵箱的用戶
PS:遇到問題沒人解答?需要Python學習資料?可以加點擊下方鏈接自行獲取
note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76
三.存在外鍵時,進行反向查詢的方法
假如存在一個Course表,裡面存在一個外鍵欄位指向User用戶表,在需要進行登錄驗證的介面中,直接通過request.user的方式就可以得到當前用戶的一個user對象,直接使用這個user對象進行反向查詢,就可以獲取Course表的數據
query_set = request.user.course__set.all() # Course表中存在外鍵欄位指向User表,User實例對象.外鍵所在的表名小寫__set.all()
四.直接獲取一個查詢集下多個查詢對象的某幾個欄位值
1 from .models import UserInfo
5 data_set = UserInfo.objects.all().values_list("user_name", "age", "money", flat=True)
# 返回的數據結構是一個列表,列表裡面嵌套的是元組,一個元組,就是一條滿足條件的數據,也可以使用values(),返回的是列表嵌套字典格式的數據