中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

深入淺析Django中的Model層F,Q對象和聚合函數的原理

發布時間:2020-11-16 15:31:31 來源:億速云 閱讀:257 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關深入淺析Django中的Model層F,Q對象和聚合函數的原理,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一.F對象:

作用:用于處理類屬性(即model的某個列數據),類屬性之間的比較。

使用之前需要先導入:

from django.db.models import F

例1:查詢圖書閱讀量大于評論量圖書信息。

BookInfo.objects.filter(bread__gt=F('bcomment'))

**例2:**查詢圖書 閱讀量大于2倍評論 量圖書信息。

BookInfo.objects.filter(bread__gt=F('bcomment')*2)

二.Q對象:

作用:用于查詢時條件之間的邏輯關系。not and or,可以對Q對象進行& | ~操作。

使用之前需要先導入:

from django.db.models import Q

例1: 查詢id大于3且閱讀量大于30的圖書的信息。

寫法1:BookInfo.objects.filter(id__gt=3,bread__gt=30)

寫法2:BookInfo.objects.filter(Q(id__gt=3)&Q(bread__gt=30))

例2:查詢id大于3或者閱讀量大于30的圖書的信息。

BookInfo.objects.filter(Q(id__gt=3)|Q(bread__gt=30))

例3:查詢id不等于3圖書的信息。

BookInfo.objects.filter(~Q(id=3))

三.聚合函數:

作用:對查詢結果進行聚合操作。

sum count avg max min

1. aggregate:

調用這個函數來使用聚合。 返回值是一個字典

使用前需先導入聚合類:

from django.db.models import Sum,Count,Max,Min,Avg

例1:查詢所有圖書的數目。

BookInfo.objects.all().aggregate(Count('id'))

例2:查詢所有圖書閱讀量的總和。

BookInfo.objects.all().aggregate(Sum(‘bread'))

2.count函數: 返回值是一個數字

作用:統計滿足條件數據的數目。

**例1:**統計所有圖書的數目。

BookInfo.objects.count()

**例2:**統計id大于3的所有圖書的數目。

BookInfo.objects.filter(id__gt=3).count()

總結:

  • 使用F對象導入:from django.db.models import Q
  • 使用Q對象導入:from django.db.models import F
  • 使用聚合函數對導入聚合類:from django.db.models import Sum,Count,Max,Min,Avg 等等

上述就是小編為大家分享的深入淺析Django中的Model層F,Q對象和聚合函數的原理了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

邓州市| 绥江县| 腾冲县| 蓬莱市| 井研县| 东至县| 九龙城区| 文昌市| 太仓市| 韩城市| 大田县| 阜平县| 邓州市| 甘谷县| 四子王旗| 广元市| 策勒县| 出国| 青阳县| 临朐县| 通州区| 海晏县| 崇文区| 灵台县| 绵阳市| 鱼台县| 阜阳市| 三门县| 务川| 安仁县| 内乡县| 翁牛特旗| 普洱| 安乡县| 赤城县| 湟中县| 建宁县| 大同市| 宜都市| 名山县| 盐山县|