91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django項目中ORM映射與模糊查詢怎么用

發布時間:2021-08-12 10:59:51 來源:億速云 閱讀:110 作者:小新 欄目:開發技術

這篇文章主要介紹了Django項目中ORM映射與模糊查詢怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

ORM映射

什么是ORM映射?在筆者認為就是對SQL語句的封裝,所寫語句與SQL對應語句含義相同,使開發更加簡單方便,不過也是存在弊端的,使程序運行效率下降。例如:

UserInfo.objects.get(id=2)

等于

select * from user_userinfo where id=2

修改管理器(models.py)

導入新的包:from django.db import models

進行模糊查詢

開始進行查找前我們先來認識filter()方法。

這是一個過濾器方法用于過濾掉不符合條件的元素。

值得一提的是其內自帶方法函數的引用方式為‘__方法名稱'。

__exact 精確等于 like ‘aaa'

__iexact 精確等于 忽略大小寫 ilike ‘aaa'

__contains 包含 like ‘%aaa%'

__icontains 包含 忽略大小寫 ilike ‘%aaa%',但是對于sqlite來說,contains的作用效果等同于icontains。

__gt 大于

__gte 大于等于

__lt 小于

__lte 小于等于

__in 存在于一個list范圍內

__startswith 以…開頭

__istartswith 以…開頭 忽略大小寫

__endswith 以…結尾

__iendswith 以…結尾,忽略大小寫

__range 在…范圍內

__year 日期字段的年份

__month 日期字段的月份

__day 日期字段的日

__isnull=True/False

舉幾個例子:

obj1 = UserInfo.objects.filter(user_name__contains='王')#以‘王'開頭的user__name
obj2 = UserInfo.objects.filter(user_name__endswith='王')#以‘王'結尾的user__name
obj3 = UserInfo.objects.filter(id__gte=5)#ID大于等于5的
obj5 = UserInfo.objects.filter(id__exact=5)#id等于5的
obj6 = UserInfo.objects.filter(id__in=[1,3,5])#id等于1,3,5,的

exclude方法,排除選項。

obj8 = UserInfo.objects.filter(password='123456',id__gt=2).exclude(phone=188)
#找到符合filter的內容后排除phone等于188的,它的另一種寫法為
from django.db.models import Q
obj = UserInfo.objects.filter(Q(password='123456') & Q(id__gt=2) & ~Q(phone=188))

計算和和最大值:

from django.db.models import Sum,Max,Min
obj = UserInfo.objects.aggregate(Sum('id'))
obj = UserInfo.objects.aggregate(Max('id'))
obj = UserInfo.objects.aggregate(Min('id'))

統計個數

print(UserInfo.objects.count())#注:print只可于終端查看

范圍查找

obj = UserInfo.objects.all()[1:3]#左閉右開,只查找了1和2

去重復

obj = person.useraddress_set.all()

而get方法與filter的最大區別為,get只能返回一個數據,filter可以返回多個,在get查找到兩個以上數據時就會報錯。

obj4 = UserInfo.objects.get(id=5)
city = UserAddress.objects.get(detail='北京望京')

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Django項目中ORM映射與模糊查詢怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遵义县| 东源县| 长治县| 剑阁县| 海南省| 西华县| 昌黎县| 江永县| 五台县| 泌阳县| 南和县| 镇巴县| 富锦市| 沅江市| 山西省| 巧家县| 瓮安县| 石泉县| 尤溪县| 吴川市| 石景山区| 界首市| 从江县| 威海市| 鄄城县| 崇仁县| 西乌珠穆沁旗| 光山县| 昔阳县| 海兴县| 宁强县| 平度市| 金昌市| 华坪县| 平顺县| 美姑县| 保定市| 双峰县| 定结县| 出国| 铜山县|