国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Django Model層F,Q對(duì)象和聚合函數(shù)原理解析

瀏覽:103日期:2024-09-18 16:06:15

一.F對(duì)象:

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

使用之前需要先導(dǎo)入:

from django.db.models import F

例1:查詢圖書(shū)閱讀量大于評(píng)論量圖書(shū)信息。

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

**例2:**查詢圖書(shū) 閱讀量大于2倍評(píng)論 量圖書(shū)信息。

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

二.Q對(duì)象:

作用:用于查詢時(shí)條件之間的邏輯關(guān)系。not and or,可以對(duì)Q對(duì)象進(jìn)行& | ~操作。

使用之前需要先導(dǎo)入:

from django.db.models import Q

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

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

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

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

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

例3:查詢id不等于3圖書(shū)的信息。

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

三.聚合函數(shù):

作用:對(duì)查詢結(jié)果進(jìn)行聚合操作。

sum count avg max min

1. aggregate:

調(diào)用這個(gè)函數(shù)來(lái)使用聚合。 返回值是一個(gè)字典

使用前需先導(dǎo)入聚合類:

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

例1:查詢所有圖書(shū)的數(shù)目。

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

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

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

2.count函數(shù): 返回值是一個(gè)數(shù)字

作用:統(tǒng)計(jì)滿足條件數(shù)據(jù)的數(shù)目。

**例1:**統(tǒng)計(jì)所有圖書(shū)的數(shù)目。

BookInfo.objects.count()

**例2:**統(tǒng)計(jì)id大于3的所有圖書(shū)的數(shù)目。

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

總結(jié):

使用F對(duì)象導(dǎo)入:from django.db.models import Q 使用Q對(duì)象導(dǎo)入:from django.db.models import F 使用聚合函數(shù)對(duì)導(dǎo)入聚合類:from django.db.models import Sum,Count,Max,Min,Avg 等等

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

標(biāo)簽: Django
主站蜘蛛池模板: 富民县| 湖北省| 宁都县| 日照市| 榆林市| 武川县| 平遥县| 涟水县| 桦甸市| 北碚区| 澄迈县| 巴彦淖尔市| 五华县| 祁东县| 子长县| 南昌市| 灵武市| 凉山| 桐庐县| 萝北县| 盱眙县| 屏南县| 汾阳市| 东海县| 克拉玛依市| 东兴市| 奉节县| 常山县| 麻阳| 平邑县| 高雄市| 黑龙江省| 承德县| 濮阳市| 南宫市| 麻城市| 大埔县| 西青区| 丽水市| 沙湾县| 曲阳县|