import os
if __name__ == '__main__':
#加載Django項(xiàng)目的配置信息
os.environ.setdefault("DJANGO_SETTINGS_MODULE","testinclude.settings")
#導(dǎo)入Django,并啟動Django項(xiàng)目
import django
django.setup()
from ormtest import models
from django.db.models import Avg,Sum,Max,Min,Count,Q
#聚合查詢
#書價(jià)平均值
# ret = models.Book.objects.all().aggregate(Avg("price"))
# print(ret)
#統(tǒng)計(jì)多少本書
# ret = models.Book.objects.all().count()
# print(ret)
#統(tǒng)計(jì)價(jià)格最貴的書
# ret = models.Book.objects.all().aggregate(Max("price"))
# print(ret)
#統(tǒng)計(jì)價(jià)格最便宜的書
# ret = models.Book.objects.all().aggregate(Min("price"))
# print(ret)
#分組查詢
#查詢每一本書的作者數(shù)量
ret = models.Book.objects.all().annotate(author_num=Count("author"))
for book in ret:
print("書名:{},作者數(shù)量:{}".format(book.title,book.author_num))
#Q查詢
#查詢書籍價(jià)格大于100,小于200的書
ret = models.Book.objects.filter(price__gt=100,price__lt=200)
print(ret)
#查詢書籍價(jià)格大于150或者小于50的書
ret = models.Book.objects.filter(Q(price__gt=100)| Q(price__lt=35))
print(ret)
書名:網(wǎng)絡(luò)基礎(chǔ)原理,作者數(shù)量:1
書名:python從入門到精通,作者數(shù)量:1
書名:Linux基礎(chǔ),作者數(shù)量:1
書名:計(jì)算機(jī)原理,作者數(shù)量:2
書名:新概念英語,作者數(shù)量:1
書名:Django從入門到精通,作者數(shù)量:1
書名:zabbix從入門到精通,作者數(shù)量:0
本文名稱:Django之分組查詢與聚合查詢與Q查詢
瀏覽路徑:http://aaarwkj.com/article4/ijhsoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、定制網(wǎng)站、靜態(tài)網(wǎng)站、全網(wǎng)營銷推廣、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)