本文實例講述了Django中使用group_by的方法。分享給大家供大家參考。具體分析如下:
在Django中怎樣使用group_by語句呢?找了很多資料,都沒有看到好的,在這里分享兩種方法給大家:
首先,我們先建一個簡單的模型。
1
2
3
4
5
|
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 ) |
方式一:
1
2
|
book_list = Book.objects. all () book_list.query.group_by = [ 'author' ] |
方式二:
1
2
3
|
query = Book.objects. all ().query query.group_by = [ 'author' ] book_list = QuerySet(query = query, model = Book) |
不過,本人在實際應用中發現一個小小的問題:
如果author字段有空值的話,用方式一會報錯,用方式二木有問題。
希望本文所述對大家的Python程序設計有所幫助。