久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

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

一.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
主站蜘蛛池模板: 乌鲁木齐县| 巨野县| 海淀区| 新余市| 子长县| 古田县| 东兰县| 林周县| 剑河县| 博客| 宜兰市| 神木县| 铜梁县| 六安市| 武乡县| 庆阳市| 郑州市| 博客| 康乐县| 卢氏县| 巴楚县| 肇庆市| 鄂温| 防城港市| 土默特右旗| 澜沧| 封丘县| 曲松县| 曲周县| 浮梁县| 惠安县| 吴川市| 云阳县| 册亨县| 曲周县| 托克托县| 义乌市| 安平县| 奎屯市| 贵德县| 古蔺县|