在Django中使用group by

2021-08-27 07:33:40 字數 762 閱讀 3224

在django中怎樣使用group_by語句呢?找了很多資料,都沒有看到好的,在這裡分享兩種方法給大家:

首先,我們先建乙個簡單的模型。

class book(models.model):

name = models.charfield(u'書名',max_length=255,db_index = true)

author = models.charfield(u'作者',max_length=255)

remark = models.charfield(u'備註',max_length=255)

pub_date = models.datetimefield(u'發表時間',auto_now_add = true)

方式一:

book_list = book.objects.all()

book_list.query.group_by = ['author']

方式二:

query = book.objects.all().query

query.group_by = ['author']

book_list = queryset(query = query, model = book)

不過,本人在實際應用中發現乙個小小的問題:

如果author欄位有空值的話,用方式一會報錯,用方式二木有問題。

歡迎多提寶貴意見。

在Django中使用DISTINCT

有時候想用distinct去掉queryset中的重複項,看django文章中是這麼說的 author.objects.distinct entry.objects.order by pub date distinct pub date entry.objects.order by blog dis...

在django中使用logging

django中似乎沒有專門支援logging的module。想在自己開發程式中使用一下log功能,記錄訪問情況,和輸入debug的一些資訊。於是google到一段 使用的python的標準庫logging,目前工作還算正常.url import logging import threading fr...

在Django中使用mysql

在django中使用mongodb 1 可以選擇虛擬環境,進入開發環境的虛擬空間,不知道的請看傳送門 2 基本包的版本 django 1.11.8 mongoengine 0.15.0 3 安裝包 pip install mysqlclient4 建立乙個新的django專案,並指定到虛擬空間的py...