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

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

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

瀏覽:161日期: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
主站蜘蛛池模板: 曲水县| 新营市| 汝阳县| 巴南区| 凤城市| 泸州市| 新营市| 双柏县| 宁晋县| 精河县| 乌恰县| 都江堰市| 墨脱县| 眉山市| 泰宁县| 和田县| 鄢陵县| 黄龙县| 沈丘县| 青河县| 天门市| 台东县| 客服| 丹棱县| 民勤县| 南昌市| 娄底市| 兴安县| 饶平县| 蒙山县| 息烽县| 壤塘县| 威远县| 乐东| 攀枝花市| 弋阳县| 从化市| 宁安市| 崇文区| 江津市| 衡水市|