av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:145日期: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
主站蜘蛛池模板: 黄色成人在线 | 国产精品免费人成网站酒店 | 成人免费视频国产免费麻豆 | 久久精品视| 日韩免费看片 | 成年人一级片 | 成人一区二区视频 | 国产精品伦子伦免费视频 | 国产精品久久 | 精品国产一区二区三 | 色爱综合网 | 夜夜欢天天干 | 国产欧美日韩 | 不卡av在线 | 狠狠操综合网 | 黄色大片网站 | 亚洲精品美女 | 97超碰免费 | 国产农村妇女精品一二区 | 日韩综合在线观看 | 一级a毛片| 在线观看黄网站 | 黄色在线观看网址 | 成人激情视频网 | 欧美日韩91 | 五月婷婷丁香网 | 一级特黄视频 | 日韩欧美自拍 | 一区二区三区视频在线播放 | 亚洲激情中文字幕 | 中国一级黄色 | 九九久久免费视频 | 毛片在线免费 | 国产精品无 | av在线成人 | 欧美在线视频一区二区 | 在线中文字幕网站 | 日韩高清毛片 | 日本色综合| 欧美日韩在线一区二区 | 国产h视频 |