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

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

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

瀏覽:131日期: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
主站蜘蛛池模板: 桃园县| 霍林郭勒市| 休宁县| 荥阳市| 河池市| 黄石市| 平度市| 绥德县| 临泉县| 芷江| 兴国县| 淮阳县| 建宁县| 梁平县| 普兰店市| 商洛市| 广灵县| 宁远县| 青海省| 崇阳县| 邵东县| 乐业县| 江安县| 钦州市| 内江市| 红原县| 新兴县| 竹山县| 松溪县| 宜城市| 文成县| 红安县| 镶黄旗| 合水县| 云林县| 美姑县| 井冈山市| 焉耆| 正镶白旗| 镇安县| 肥东县|