最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django 中QuerySet特性功能詳解

 更新時(shí)間:2019年07月25日 10:40:19   作者:谷子的  
這篇文章主要介紹了django 中QuerySet特性功能詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Book表的數(shù)據(jù)顯示

id  title    price  publish_id
2  Linux    30     1
3  項(xiàng)塔蘭    45     2
4  追風(fēng)箏的人  39.9   3
5  富爸爸    23    10

創(chuàng)建queryset 視圖 函數(shù), 可以使用的列表的方法,按索引,切片的方法取值,得到一個(gè)列表對(duì)象

def queryset(request):

  ret1 = Book.objects.all()[0]  #QuerySet支持索引,切片操作
  # print(ret1)   #linux 得到一個(gè)具體的對(duì)象
  ret2 = Book.objects.all()[1:3]
  # print(ret2)#<QuerySet [<Book: 項(xiàng)塔蘭>, <Book: 追風(fēng)箏的人>]>
  # ret3 = Book.objects.all()[:2]
  ret4 = Book.objects.all()[::2]# 按步長(zhǎng)取,隔一個(gè)取一個(gè),,,[::1}挨著取,一個(gè)個(gè)都取
  # print(ret3)#<QuerySet [<Book: Linux>, <Book: 項(xiàng)塔蘭>]>

  print(ret4)#[<Book: Linux>, <Book: 追風(fēng)箏的人>]

-----

可迭代特性, iterator() ,exists()

主要是QuerySet的緩存機(jī)制,如果一次從數(shù)據(jù)庫(kù)取出很多數(shù)據(jù),就有可能導(dǎo)致程序崩潰,可以利用iterator()方法,做性能優(yōu)化,

為了判斷獲取到的對(duì)象是否有值,沒(méi)有必要遍歷所有的對(duì)象,用exists()方法()

#可迭代特性

  book_list = Book.objects.all() #取出數(shù)據(jù)庫(kù)的所有對(duì)象,要考慮cache機(jī)制,如果數(shù)據(jù)量太大,程序就會(huì)崩潰

#判斷book_list 是否有值,假如有很多數(shù)據(jù),就沒(méi)有必要全部查一遍才得知有數(shù)據(jù),只要查到有1條數(shù)據(jù),就可以知道book_list有數(shù)據(jù),就用exists()方法

  if book_list.exists():
    print('ok')  #ok ,說(shuō)明數(shù)據(jù)庫(kù)有值
 #利用itertor()方法 book_list1 = Book.objects.all().iterator() #這次就不能用2次for循環(huán),第一次for循環(huán),就已經(jīng)把遍歷完了,
  

book_list1 = Book.objects.all().iterator() #這次就不能用2次for循環(huán),第一次for循環(huán),就已經(jīng)把遍歷完了,用next()方法每次取出一個(gè)值,
print(next(book_list1)) #linux
print(next(book_list1))#項(xiàng)塔蘭
print(next(book_list1))#追風(fēng)箏的人




  Book.objects.filter(id=2).update(price=100.00)#對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行更新,但并沒(méi)有執(zhí)行,只有在用到的時(shí)候在執(zhí)行

  for obj in book_list: # 在for循環(huán)時(shí)開(kāi)始執(zhí)行sql語(yǔ)句查詢
    print(obj.title,obj.price)

    #如果for循環(huán)2次,打印2次結(jié)果,也是執(zhí)行一次sql語(yǔ)句,因?yàn)榇嬖趕ql的緩存機(jī)制,把第一次查詢的結(jié)果放到緩存里,
    #下次從緩存里調(diào)
  """ 
  Linux  30.00  ---沒(méi)有更新數(shù)據(jù)之前
  項(xiàng)塔蘭  45.00
  追風(fēng)箏的人  39.90
  富爸爸  23.00
  """

  """
  Linux 100.00  ----更新數(shù)據(jù)之后
  項(xiàng)塔蘭 45.00
  追風(fēng)箏的人 39.90
  富爸爸 23.00
  """

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談python連續(xù)賦值可能引發(fā)的錯(cuò)誤

    淺談python連續(xù)賦值可能引發(fā)的錯(cuò)誤

    今天小編就為大家分享一篇淺談python連續(xù)賦值可能引發(fā)的錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 利用Python3分析sitemap.xml并抓取導(dǎo)出全站鏈接詳解

    利用Python3分析sitemap.xml并抓取導(dǎo)出全站鏈接詳解

    因?yàn)樽罱鼡Q了網(wǎng)址,所以需要在百度站長(zhǎng)平臺(tái)提交網(wǎng)址,不管是主動(dòng)推送還是手動(dòng)提交,前提都是要整理網(wǎng)站的鏈接,手動(dòng)添加太麻煩,于是就想寫(xiě)個(gè)腳本直接抓取全站鏈接并導(dǎo)出,本文詳細(xì)介紹的是實(shí)現(xiàn)的方法及過(guò)程,需要的朋友們一起來(lái)看看吧。
    2017-07-07
  • Python實(shí)現(xiàn)MySql數(shù)據(jù)庫(kù)交互的示例

    Python實(shí)現(xiàn)MySql數(shù)據(jù)庫(kù)交互的示例

    本文主要介紹了Python實(shí)現(xiàn)MySql數(shù)據(jù)庫(kù)交互的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • python使用selenium打開(kāi)chrome瀏覽器時(shí)帶用戶登錄信息實(shí)現(xiàn)過(guò)程詳解

    python使用selenium打開(kāi)chrome瀏覽器時(shí)帶用戶登錄信息實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了python使用selenium打開(kāi)chrome瀏覽器時(shí)帶用戶登錄信息,本文以實(shí)例給大家來(lái)展示如何讓selenium在打開(kāi)chrome瀏覽器的時(shí)候帶上用戶的登錄信息,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • Python經(jīng)典題實(shí)戰(zhàn)記錄之百元買(mǎi)百雞

    Python經(jīng)典題實(shí)戰(zhàn)記錄之百元買(mǎi)百雞

    有一道著名的"百錢(qián)買(mǎi)百雞"問(wèn)題大家應(yīng)該都不陌生,這篇文章主要給大家介紹了關(guān)于Python經(jīng)典題實(shí)戰(zhàn)記錄之百元買(mǎi)百雞的相關(guān)資料,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-12-12
  • 使用OpenCV獲取圖片連通域數(shù)量,并用不同顏色標(biāo)記函

    使用OpenCV獲取圖片連通域數(shù)量,并用不同顏色標(biāo)記函

    這篇文章主要介紹了使用OpenCV獲取圖片連通域數(shù)量,并用不同顏色標(biāo)記函,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 用Python制作燈光秀短視頻的思路詳解

    用Python制作燈光秀短視頻的思路詳解

    這篇文章主要介紹了用Python制作燈光秀短視頻的思路詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-04-04
  • 使用openCV去除文字中亂入的線條實(shí)例

    使用openCV去除文字中亂入的線條實(shí)例

    這篇文章主要介紹了使用openCV去除文字中亂入的線條實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python按鍵或值對(duì)字典進(jìn)行排序

    Python按鍵或值對(duì)字典進(jìn)行排序

    這篇文章主要為大家介紹了Python對(duì)字典進(jìn)行排序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python-str,list,set間的轉(zhuǎn)換實(shí)例

    python-str,list,set間的轉(zhuǎn)換實(shí)例

    今天小編就為大家分享一篇python-str,list,set間的轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06

最新評(píng)論

乐安县| 康平县| 竹溪县| 福清市| 乐亭县| 信阳市| 西贡区| 浠水县| 兴义市| 临漳县| 抚顺市| 图木舒克市| 达尔| 乌鲁木齐市| 阿克陶县| 海安县| 阿荣旗| 明水县| 福建省| 大化| 鹤山市| 江口县| 锦屏县| 长顺县| 龙泉市| 普陀区| 富源县| 香港 | 化德县| 德昌县| 长宁区| 株洲市| 河东区| 淳安县| 郓城县| 固安县| 蒲江县| 伊春市| 那曲县| 神木县| 盐城市|