婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Django 聚合函數(shù)的具體使用

Django 聚合函數(shù)的具體使用

熱門標(biāo)簽:富錦商家地圖標(biāo)注 池州外呼調(diào)研線路 沈陽外呼系統(tǒng)呼叫系統(tǒng) 外呼系統(tǒng)哪些好辦 沈陽防封電銷卡品牌 沈陽人工外呼系統(tǒng)價格 武漢外呼系統(tǒng)平臺 江西省地圖標(biāo)注 如何申請400電話費用

前言

orm模型中的聚合函數(shù)跟MySQL中的聚合函數(shù)作用是一致的,也有像Sum、Avg、Count、Max、Min,接下來我們逐個介紹

聚合函數(shù)

所有的聚合函數(shù)都是放在django.db.models下面。并且聚合函數(shù)不能夠單獨的執(zhí)行,聚合函數(shù)是通過aggregate方法來實現(xiàn)的。在說明聚合函數(shù)的用法的時候,都是基于以下的模型對象來實現(xiàn)的。

class Author(models.Model):
     """作者模型"""
     name = models.CharField(max_length=100)
     age = models.IntegerField()
     email = models.EmailField()

     class Meta:
         db_table = 'author'


 class Publisher(models.Model):
     """出版社模型"""
     name = models.CharField(max_length=300)

     class Meta:
         db_table = 'publisher'


 class Book(models.Model):
     """圖書模型"""
     name = models.CharField(max_length=300)
     pages = models.IntegerField()
     price = models.FloatField()
     rating = models.FloatField()
     author = models.ForeignKey(Author,on_delete=models.CASCADE)
     publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)

     class Meta:
         db_table = 'book'


 class BookOrder(models.Model):
     """圖書訂單模型"""
     book = models.ForeignKey("Book",on_delete=models.CASCADE)
     price = models.FloatField()

     class Meta:
         db_table = 'book_order'

Avg

Avg:求平均值。比如想要獲取所有圖書的價格平均值。那么可以使用以下代碼實現(xiàn)。

 from django.db.models import Avg
 result = Book.objects.aggregate(Avg('price'))
 print(result)

以上的打印結(jié)果是:

 {"price__avg":23.0}

其中price__avg的結(jié)構(gòu)是根據(jù)field__avg規(guī)則構(gòu)成的。如果想要修改默認的名字,那么可以將Avg賦值給一個關(guān)鍵字參數(shù)。示例代碼如下:

 from django.db.models import Avg
 result = Book.objects.aggregate(my_avg=Avg('price'))
 print(result)

以上的打印結(jié)果為

 {"my_avg":23} 

Count

Count:獲取指定的對象的個數(shù)。示例代碼如下:

 from django.db.models import Count
 result = Book.objects.aggregate(book_num=Count('id'))

以上的result將返回Book表中總共有多少本圖書。

Count類中,還有另外一個參數(shù)叫做distinct,默認是等于False,如果是等于True,那么將去掉那些重復(fù)的值。比如要獲取作者表中所有的不重復(fù)的郵箱總共有多少個,那么可以通過以下代碼來實現(xiàn):

from djang.db.models import Count
result = Author.objects.aggregate(count=Count('email',distinct=True))

Max和Min

Max和Min:獲取指定對象的最大值和最小值。比如想要獲取Author表中,最大的年齡和最小的年齡分別是多少。那么可以通過以下代碼來實現(xiàn):

from django.db.models import Max,Min
result = Author.objects.aggregate(Max('age'),Min('age'))

如果最大的年齡是90,最小的年齡是10。那么以上的result將為:

{"age__max":90,"age__min":10}

Sum

Sum:求指定對象的總和。比如要求圖書的銷售總額。那么可以使用以下代碼實現(xiàn):

from djang.db.models import Sum
result = Book.objects.annotate(total=Sum("bookorder__price"))

以上的代碼annotate的意思是給Book表在查詢的時候添加一個字段叫做total,這個字段的數(shù)據(jù)來源是從BookOrder模型的price的總和而來。 

aggregate和annotate的區(qū)別

相同點:這兩個方法都可以執(zhí)行聚合函數(shù)。

不同點:

  • aggregate返回的是一個字典,在這個字典中存儲的是這個聚合函數(shù)執(zhí)行的結(jié)果。而annotate返回的是一個QuerySet對象,并且會在查找的模型上添加一個聚合函數(shù)的屬性。
  • aggregate不會做分組,而annotate會使用group by子句進行分組,只有調(diào)用了group by子句,才能對每一條數(shù)據(jù)求聚合函數(shù)的值。

F表達式:

F表達式: 動態(tài)的獲取某個字段上的值。并且這個F表達式,不會真正的去數(shù)據(jù)庫中查詢數(shù)據(jù),他相當(dāng)于只是起一個標(biāo)識的作用。比如想要將原來每本圖書的價格都在原來的基礎(chǔ)之上增加10元,那么可以使用以下代碼來實現(xiàn):

from django.db.models import F
Book.objects.update(price=F("price")+10) 

Q表達式

Q表達式:使用Q表達式包裹查詢條件,可以在條件之間進行多種操作。與/或非等,從而實現(xiàn)一些復(fù)雜的查詢操作。例子如下:

查找價格大于100,并且評分達到4.85以上的圖書:

  # 不使用Q表達式的
  books = Book.objects.filter(price__gte=100,rating__gte=4.85)
  # 使用Q表達式的
  books = Book.objects.filter(Q(price__gte=100)Q(rating__gte=4.85))

查找價格低于100元,或者評分低于4分的圖書:

books = Book.objects.filter(Q(price__gte=100)Q(rating__gte=4.85))

獲取價格大于100,并且圖書名字中不包含”傳“字的圖書:

books = Book.objects.filter(Q(price__gte=100)~Q(name__icontains='傳'))

到此這篇關(guān)于Django 聚合函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)Django 聚合函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Django Model層F,Q對象和聚合函數(shù)原理解析
  • django 中的聚合函數(shù),分組函數(shù),F(xiàn) 查詢,Q查詢
  • django的聚合函數(shù)和aggregate、annotate方法使用詳解

標(biāo)簽:常德 銅川 通遼 株洲 黑龍江 呂梁 阿里 潛江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Django 聚合函數(shù)的具體使用》,本文關(guān)鍵詞  Django,聚合,函數(shù),的,具體,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Django 聚合函數(shù)的具體使用》相關(guān)的同類信息!
  • 本頁收集關(guān)于Django 聚合函數(shù)的具體使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲成人黄色小说| 亚洲精品一二三| 久久亚洲精精品中文字幕早川悠里 | 国产麻豆成人传媒免费观看| 国产成人午夜视频| 色婷婷精品大视频在线蜜桃视频| 欧美色综合久久| 欧美一级片在线| 国产精品色呦呦| 爽好久久久欧美精品| 国产激情视频一区二区在线观看| 欧美一区二视频| 亚洲一本大道在线| 成人av在线观| 久久久国际精品| 极品销魂美女一区二区三区| 欧美伦理视频网站| 亚洲成人av一区| 欧美伊人精品成人久久综合97| 国产三级精品视频| 久久99精品久久久久久国产越南| 欧美精品1区2区3区| 亚洲福利视频三区| 欧美视频一区在线| 亚洲国产中文字幕在线视频综合| 99精品国产视频| 亚洲欧洲一区二区三区| 成人午夜视频网站| 国产日产欧美一区二区三区 | 亚洲mv在线观看| 欧美日韩在线观看一区二区| 亚洲精品欧美激情| 在线视频中文字幕一区二区| 亚洲另类色综合网站| 色妞www精品视频| 一卡二卡欧美日韩| 欧美喷水一区二区| 老司机精品视频线观看86 | 国产乱子伦一区二区三区国色天香| 在线综合视频播放| 免费在线看一区| 26uuu色噜噜精品一区二区| 国产乱妇无码大片在线观看| 国产亚洲一区二区三区| 粉嫩绯色av一区二区在线观看| 中文字幕欧美三区| 色老综合老女人久久久| 天天操天天干天天综合网| 日韩一区二区三区电影| 国产在线视频不卡二| 久久精品男人的天堂| 色综合欧美在线| 日韩综合小视频| 久久九九全国免费| 91色在线porny| 麻豆一区二区在线| 国产女主播一区| 欧美精品少妇一区二区三区| 久久成人久久鬼色| 亚洲品质自拍视频| 日韩欧美一区在线| 91在线一区二区三区| 婷婷久久综合九色综合绿巨人| 精品第一国产综合精品aⅴ| 粉嫩av一区二区三区粉嫩| 亚洲国产日韩在线一区模特| 日韩色在线观看| 99精品黄色片免费大全| 看片网站欧美日韩| 有码一区二区三区| 久久综合中文字幕| 在线精品亚洲一区二区不卡| 久久精品国产精品亚洲精品| 亚洲色图20p| 久久久久88色偷偷免费| 日本二三区不卡| 成人小视频在线观看| 日韩不卡在线观看日韩不卡视频| 国产拍欧美日韩视频二区| 欧美精品丝袜中出| 91激情在线视频| 国产jizzjizz一区二区| 美腿丝袜亚洲一区| 亚洲无线码一区二区三区| 国产视频亚洲色图| 日韩欧美一级二级三级久久久| 色哟哟在线观看一区二区三区| 国产精品综合在线视频| 轻轻草成人在线| 亚洲电影在线免费观看| 亚洲蜜臀av乱码久久精品蜜桃| 国产视频视频一区| 久久嫩草精品久久久精品一| 日韩一区二区三区电影| 日本韩国欧美在线| 在线一区二区三区| 色综合天天综合网天天看片| 成人在线综合网站| 国产成人免费视频一区| 国产自产高清不卡| 国产美女精品一区二区三区| 免费成人结看片| 青娱乐精品视频| 日韩avvvv在线播放| 丝袜亚洲另类欧美| 午夜精品一区二区三区电影天堂 | 成人免费视频播放| 波多野结衣中文一区| 国产超碰在线一区| 成人开心网精品视频| 成人黄色a**站在线观看| 成人午夜av电影| 成人久久久精品乱码一区二区三区| 国产一区中文字幕| 成人听书哪个软件好| 高清av一区二区| 成人va在线观看| 一本一本大道香蕉久在线精品| 99久久婷婷国产精品综合| 91亚洲男人天堂| 欧洲国内综合视频| 7777精品伊人久久久大香线蕉的 | 一色屋精品亚洲香蕉网站| 中文字幕亚洲精品在线观看| 亚洲色欲色欲www| 亚洲一区影音先锋| 日韩av在线播放中文字幕| 日韩av网站免费在线| 国产资源在线一区| 99re热这里只有精品免费视频| 99re在线视频这里只有精品| 欧美日韩一区二区三区四区五区 | 一区二区三区视频在线看| 午夜精品久久久久影视| 精久久久久久久久久久| 丁香天五香天堂综合| 欧美午夜不卡在线观看免费| 日韩欧美色电影| 亚洲欧洲日本在线| 午夜久久电影网| 国产精品自拍在线| 色噜噜狠狠色综合欧洲selulu| 制服丝袜av成人在线看| 国产日韩精品一区二区浪潮av | 欧美精品一级二级| 国产天堂亚洲国产碰碰| 亚洲va欧美va国产va天堂影院| 寂寞少妇一区二区三区| 在线精品视频免费播放| 日韩欧美国产系列| 亚洲欧洲成人精品av97| 麻豆91在线看| 色综合天天视频在线观看| 精品裸体舞一区二区三区| 亚洲色图欧洲色图婷婷| 精品中文av资源站在线观看| 在线视频一区二区三| 国产亚洲欧美日韩日本| 天天综合色天天| 91伊人久久大香线蕉| 精品国产凹凸成av人网站| 亚洲一区二区欧美日韩 | 一区二区三区不卡在线观看| 激情小说亚洲一区| 4438成人网| 亚洲制服丝袜av| 成人动漫中文字幕| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲国产综合视频在线观看| 成人av影视在线观看| 欧美刺激脚交jootjob| 亚洲一二三四在线观看| 成人av网站免费观看| 久久久久久97三级| 乱中年女人伦av一区二区| 在线观看免费一区| 亚洲卡通动漫在线| 99亚偷拍自图区亚洲| 久久久国产精品麻豆| 精品在线免费视频| 欧美一级精品在线| 日韩电影一区二区三区| 欧美区视频在线观看| 无码av免费一区二区三区试看 | 国产成人午夜片在线观看高清观看| 日韩三级.com| 久久er99热精品一区二区| 日韩三级中文字幕| 麻豆久久久久久| 欧美成人午夜电影| 六月丁香综合在线视频| 欧美xxxx老人做受| 久久se精品一区精品二区| 日韩精品一区在线观看| 国产在线视频一区二区三区| 国产午夜亚洲精品羞羞网站| 国产成人一区在线| 国产精品免费视频一区| 一本一道综合狠狠老| 亚洲成av人影院在线观看网|