欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

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

Django 聚合函數的具體使用

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

前言

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

聚合函數

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

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:求平均值。比如想要獲取所有圖書的價格平均值。那么可以使用以下代碼實現。

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

以上的打印結果是:

 {"price__avg":23.0}

其中price__avg的結構是根據field__avg規則構成的。如果想要修改默認的名字,那么可以將Avg賦值給一個關鍵字參數。示例代碼如下:

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

以上的打印結果為

 {"my_avg":23} 

Count

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

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

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

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

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

Max和Min

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

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:求指定對象的總和。比如要求圖書的銷售總額。那么可以使用以下代碼實現:

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

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

aggregate和annotate的區別

相同點:這兩個方法都可以執行聚合函數。

不同點:

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

F表達式:

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

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

Q表達式

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

查找價格大于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='傳'))

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

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

標簽:常德 銅川 通遼 株洲 黑龍江 呂梁 阿里 潛江

巨人網絡通訊聲明:本文標題《Django 聚合函數的具體使用》,本文關鍵詞  Django,聚合,函數,的,具體,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Django 聚合函數的具體使用》相關的同類信息!
  • 本頁收集關于Django 聚合函數的具體使用的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    久久久综合网站| 91久久一区二区| 日韩av手机在线免费观看| 成年人午夜剧场| 欧美高清www午色夜在线视频| 一本色道久久综合亚洲91| 欧美日韩免费高清一区色橹橹| 国产精品国产三级国产传播| 国产精品扒开腿做爽爽| 日本中文字幕免费在线观看| 欧美肥妇bbw| 国产女主播视频一区二区| 有坂深雪av一区二区精品| 蜜桃av噜噜一区| 不卡av在线免费观看| 丰满大乳奶做爰ⅹxx视频| 手机av在线看| 日韩视频不卡中文| 亚洲三级电影全部在线观看高清| 视频一区在线视频| 不卡视频一二三| 精品人伦一区二区| 欧美日韩国产高清一区二区三区| 欧美不卡一区二区三区四区| 亚洲精品亚洲人成人网| 韩国一区二区在线观看| 久久久久国产免费| 一起操在线播放| 精品国产乱码久久久久久图片 | 国产一二精品视频| 无码人妻丰满熟妇区毛片蜜桃精品| 91成人破解版| 欧美精品乱码久久久久久| 国产精品成人免费精品自在线观看| 日产欧产美韩系列久久99| 99久久国产综合精品色伊| 你懂得视频在线观看| 91精品国产一区二区人妖| 亚洲色图制服诱惑 | 国产精品资源在线| 亚州av综合色区无码一区| 色婷婷久久久综合中文字幕| 国产日韩欧美不卡| 美日韩一区二区三区| 亚洲一区和二区| 91搞黄在线观看| 国产精品黄色在线观看| 国产一区二区在线看| 亚洲蜜桃精久久久久久久久久久久| 色偷偷久久一区二区三区| 日本一区二区在线不卡| 久久99精品一区二区三区三区| www.四虎在线| 欧美视频在线观看一区二区| 国产精品色眯眯| 国产一区二区成人久久免费影院| 国产精品嫩草av| 69av一区二区三区| 亚洲在线免费播放| 91丨九色丨蝌蚪富婆spa| 欧美激情图片小说| 国产精品视频一二三区| 国产激情一区二区三区| 正在播放国产对白害羞| 久久日一线二线三线suv| 看电影不卡的网站| 丰满圆润老女人hd| 欧美成人a∨高清免费观看| 日本伊人精品一区二区三区观看方式| 成人短视频下载| 青青草原在线免费观看| 中文字幕一区二区三区不卡| 成人午夜激情片| 国产午夜手机精彩视频| 中文字幕在线不卡一区二区三区| 国产成人一级电影| 五月天色婷婷丁香| 中文字幕在线不卡一区 | 久久国产精品露脸对白| a级大片在线观看| 久久综合九色综合久久久精品综合| 青青草国产成人99久久| 瑟瑟视频在线观看| 亚洲精品在线三区| 国产精品一区在线观看乱码| 神马久久精品综合| 亚洲色图都市小说| 下面一进一出好爽视频| 欧美精品一二三| 日本最新不卡在线| www..com.cn蕾丝视频在线观看免费版| 精品免费日韩av| 国产精品一区免费在线观看| 男人晚上看的视频| 亚洲日本青草视频在线怡红院| 99精品在线观看视频| 欧美日韩一区二区在线观看| 天天综合网 天天综合色| 亚洲精品视频大全| 国产午夜精品一区二区三区嫩草 | 欧美高清性hdvideosex| 日韩av在线发布| 国产又粗又黄又猛| 国产精品传媒在线| 韩国一区二区三区四区| 日韩视频在线观看一区二区| 国产原创一区二区三区| 国产大学生自拍| 首页综合国产亚洲丝袜| 1024在线看片| 亚洲靠逼com| 五级黄高潮片90分钟视频| 久久久久久日产精品| av不卡在线播放| 91精品国产综合久久福利软件| 美国毛片一区二区三区| 亚洲精品卡一卡二| 一区二区免费视频| 日本少妇毛茸茸| 国产精品久久久久一区 | 在线精品观看国产| 日本美女一区二区三区| 国产3级在线观看| 亚洲一区二区在线播放相泽| 非洲一级黄色片| √…a在线天堂一区| 69亚洲乱人伦| 欧美激情综合五月色丁香| 丰满少妇一区二区三区专区| 精品国产乱码久久久久久蜜臀| 高潮精品一区videoshd| 在线播放欧美女士性生活| 国产精品中文欧美| 91精品中文字幕一区二区三区| 国产一区二区三区观看| 欧美日韩免费观看一区二区三区| 久草在线在线精品观看| 欧美唯美清纯偷拍| 国产一区二区三区在线观看精品| 欧美亚州韩日在线看免费版国语版| 青青草91视频| 日本韩国欧美在线| 久久er精品视频| 欧美日韩日日夜夜| 国产成人精品三级| 日韩免费电影网站| 99国产精品免费视频| 国产亚洲精品福利| 中文字幕在线播放一区| 亚洲图片另类小说| 国产毛片欧美毛片久久久| 婷婷成人综合网| 91搞黄在线观看| 国产 日韩 欧美大片| 精品毛片乱码1区2区3区| 久久久久99人妻一区二区三区| 国产亚洲1区2区3区| 97人妻天天摸天天爽天天| 一区二区在线观看不卡| 中文字幕求饶的少妇| 美女mm1313爽爽久久久蜜臀| 欧美精品久久99久久在免费线 | 色狠狠桃花综合| 国产一区二区三区黄视频| 欧美一卡在线观看| 韩国一区二区三区四区| 亚洲欧美电影一区二区| 免费黄色国产视频| 久久精品久久综合| 欧美一级片在线看| 少妇搡bbbb搡bbb搡打电话| 亚洲欧美日韩一区二区三区在线观看| 国产精品无码永久免费不卡| 亚洲精品成人悠悠色影视| 一区二区成人免费视频| 国产黄色91视频| 久久久久青草大香线综合精品| 亚洲激情 欧美| 亚洲电影欧美电影有声小说| 在线免费一区三区| 99久久亚洲一区二区三区青草| 日本一区二区视频在线| 日本黄色激情视频| 国产在线看一区| 久久精品在线免费观看| 免费成人深夜天涯网站| 激情图片小说一区| 精品国产3级a| 韩国女同性做爰三级| 久久国产精品露脸对白| 久久久一区二区三区| 一色道久久88加勒比一| 麻豆成人综合网| xfplay精品久久| 成年人在线免费看片| 国模冰冰炮一区二区| 久久精品夜色噜噜亚洲aⅴ| 黄大色黄女片18免费| 高清成人免费视频| 国产精品高潮呻吟|