Python Django中一些少用卻很實用的orm查詢方法

一.使用Q對象進行限制條件之間 "或" 鏈接查詢python

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 進行字段數據起始字符和結尾字符的條件查詢django

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表的數據code

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(),返回的是列表嵌套字典格式的數據
相關文章
相關標籤/搜索