好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Django中常用的查詢數據方法及查詢對象的條件詳解

Django中常用的查詢數據方法及查詢對象的條件詳解

熱門標簽:萊蕪電信外呼系統 鶴壁手機自動外呼系統違法嗎 企業微信地圖標注 高德地圖標注收入咋樣 地圖標注多個 怎么辦理400客服電話 B52系統電梯外呼顯示E7 銀川電話機器人電話 沈陽防封電銷電話卡

(1)常用的查詢方法:

1.獲取所有記錄:

s = User.objects.all()

2.獲取第一條數據:

s = User.objects.first()

3.獲取最后一條數據:

s = User.objects.last()

關于二、三兩個方法注意點:

對于QuerySet對象,我們也是可以通過下標取值獲取對應的實例對象。如下所示——雖然這兩個方法作用一致(獲取到對應的實例對象),但是推薦使用(而且一般使用的)都是first()方法及last()方法。

原因——如果查詢的數據不存在的話,使用下標查詢會報錯;但是使用first()方法不會報錯,會返回None。

s = User.objects.filter(age=18).first()     #獲取QuerySet中的第一條數據
s2 = User.objects.filter(age=18).last()     #獲取QuerySet中的最后一條數據
s = User.objects.filter(age=18)[0]
print(s)

應用場景:

a = User.objects.get(id=56)             #使用get方法獲取一個實例對象,我們可以保證id不會重復,但是不能保證id為56的數據是否存在
#但是使用.first()方法哪怕它不存在也不會報錯!
a = User.objects.filter(id=56).first()

4.根據參數提供的條件獲取過濾后的記錄:

【注意:filter(**kwargs)方法:根據參數提供的提取條件,獲取一個過濾后的QuerySet】

s = User.objects.filter(name= "xiaoming" )	# 過濾得到name為xiaoming的數據

5.排除name為xiaoming的數據:

s = User.objects.exclude(name='xiaoming')

6.獲取一個記錄對象:

【注意:get返回的對象具有唯一性質,如果符合條件的對象有多個,則get報錯!】

s = User.objects.get(name = "xiaoming" )

7.對結果排序:

#根據age升序排序:
c = User.objects.all().order_by("age")
#根據age逆向排序:
c2 = User.objects.all().order_by("-age")
#雙重排序:age升序排序,如果有age相同的則以id升序排序:
c3 = User.objects.all().order_by("age","id")

8.將返回的QuerySet中的Model轉換為字典:

s = User.objects.all().values()
#作用:現在是字典形式了(之前的QuerySet是類似于列表的對象),就可以使用字典的方法進行獲取數據了:
print(s[0].get("name"))

QuerySet對象格式:

QuerySet [User: name:taka, age:18>, User: name:xiaopo, age:18>, User: name:xiaohong, age:18>]>

使用values()方法轉變后的格式:

QuerySet [{'id': 1, 'name': 'taka', 'age': 18}, {'id': 2, 'name': 'xiaopo', 'age': 18}, {'id': 3, 'name': 'xiaohong', 'age': 18}]>

9.獲取當前查詢到的數據的總數:

e = User.objects.count()	 # (所有QuerySet對象都可以使用此方法)

(2)常用的查詢對象的條件:

查找對象的條件的意思是傳給以上方法的一些參數。相當于是SQL語句中的where語句后面的條件,語法為字段名__規則!

1.exact相當于等號:(以下兩種方法作用一致!)

rs = User.objects.filter(name__exact='xiaoming')
rs = User.objects.filter(name='xiaoming')

2.iexact:跟exact差不多,只是忽略大小寫的匹配。

3.contains 包含:

rs = User.objects.filter(name__contains='xiao')     #查詢name屬性值中包含xiao的

4.icontains跟contains差不多,只是忽略大小寫。

5.startwith 以什么開始:

rs = User.objects.filter(name__startswith='xiao')  # 查詢name屬性值以xiao開頭的

6.istartwith跟startwith差不多,只是忽略大小寫。

7.endwith 以什么結尾:。

8.isendwith跟endwith差不多,只是忽略大小寫。

9.in 成員所屬:

rs = User.objects.filter(age__in=[18,19,20])  # 查詢age值為18,19,20的數據

10.gt大于

rs = User.objects.filter(age__gt=20)  # 查詢age值大于20的數據

11.gte 大于等于。

12.lt 小于。

13.lte 小于等于。

14.range 區間,包含兩頭。

rs = User.objects.filter(age__range=(18,20))  # 查詢age值在18-20之間的數據(包含18和20)

15.isnull 判斷是否為空。

總結

到此這篇關于Django中常用的查詢數據方法及查詢對象的條件的文章就介紹到這了,更多相關Django查詢數據方法及條件內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Django中對數據查詢結果進行排序的方法
  • django 按時間范圍查詢數據庫實例代碼
  • Django框架中數據的連鎖查詢和限制返回數據的方法
  • Django 查詢數據庫并返回頁面的例子
  • 在django中查詢獲取數據,get, filter,all(),values()操作
  • Django查詢數據庫的性能優化示例代碼
  • Django分頁查詢并返回jsons數據(中文亂碼解決方法)

標簽:安慶 湘西 三亞 烏魯木齊 呼倫貝爾 呼倫貝爾 銀川 葫蘆島

巨人網絡通訊聲明:本文標題《Django中常用的查詢數據方法及查詢對象的條件詳解》,本文關鍵詞  Django,中常,用的,查詢,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Django中常用的查詢數據方法及查詢對象的條件詳解》相關的同類信息!
  • 本頁收集關于Django中常用的查詢數據方法及查詢對象的條件詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 小尤奈大尺度福利视频| 黄在线观看免费| 人禽伦交视频| 好大好深好硬好爽好舒服| 国产午夜三级| 欧美极品少妇XXXXⅩOO| 国产精品无码一区二区毛色肉片| 国产精品第一页在线观看| 美女直播app黄版| 粗大缓慢挺进娇喘呻吟| 喷射蜜汁水线| 性生活视频播放| 久久久精品无码一区二区| 日本三级黄网站| 成人αv在线视频高清| 九九热精品视频| 黄页免费观看| 唯思影域官网入口| 动漫艳鉧无码1~6集在线观看| 高清视频欧美性生活| 放荡的闷骚娇妻h| 成都4片p高清完整版下载| 久久久久久精品国产三级| 色哟在线观看| 思思91精品国产综合在线| 美女搡BBB又爽又猛又黄www | 在厨房掀起短裙翘起屁股麻麻| 中园一级簧色带| AV无码乱码精品国产60后| 附近人50元一次| 范冰冰三级版在线观看| 被窝影院九| 大胸美女脱个精光秘?动漫无 | 美女精品一区二区| 羞羞午夜爽爽爽影视大全| 精品国产三级a∨在线观看| 被夫公连续7天中文字幕宫| ww欧洲ww在线视频看| 巜我的漂亮的瘦子6伦理| 日韩欧美动漫AV一区二区| 8mav福利视频|