Django之分組查詢與聚合查詢與Q查詢

程序代碼

import os

if __name__ == '__main__':
    #加載Django項(xiàng)目的配置信息
    os.environ.setdefault("DJANGO_SETTINGS_MODULE","testinclude.settings")
    #導(dǎo)入Django,并啟動(dòng)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)

結(jié)果

書名:網(wǎng)絡(luò)基礎(chǔ)原理,作者數(shù)量:1
書名:python從入門到精通,作者數(shù)量:1
書名:Linux基礎(chǔ),作者數(shù)量:1
書名:計(jì)算機(jī)原理,作者數(shù)量:2
書名:新概念英語(yǔ),作者數(shù)量:1
書名:Django從入門到精通,作者數(shù)量:1
書名:zabbix從入門到精通,作者數(shù)量:0

本文名稱:Django之分組查詢與聚合查詢與Q查詢
瀏覽路徑:http://bm7419.com/article4/ijhsoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航企業(yè)網(wǎng)站制作、定制網(wǎng)站、靜態(tài)網(wǎng)站全網(wǎng)營(yíng)銷推廣、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管