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

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

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

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

一.F對象:

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

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

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對象:

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

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

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))

三.聚合函數(shù):

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

sum count avg max min

1. aggregate:

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

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

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

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

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

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

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

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

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

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

BookInfo.objects.count()

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

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

總結(jié):

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

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

標(biāo)簽: Django
主站蜘蛛池模板: 临城县| 合阳县| 榆社县| 凤凰县| 叶城县| 栾川县| 贵定县| 威信县| 翼城县| 峨边| 长春市| 昆明市| 韩城市| 金川县| 临夏市| 龙川县| 莱芜市| 承德市| 广平县| 永城市| 六安市| 盐边县| 天峨县| 莆田市| 马公市| 遵义市| 舞钢市| 孟津县| 古蔺县| 靖远县| 万安县| 安溪县| 贵定县| 胶南市| 玉环县| 静宁县| 滦南县| 水富县| 漠河县| 武鸣县| 铜陵市|