Django中使用group_by的方法

yipeiwu_com6年前Python基础

本文实例讲述了Django中使用group_by的方法。分享给大家供大家参考。具体分析如下:

在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字段有空值的话,用方式一会报错,用方式二木有问题。

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python变量和数据类型详解

Python 变量类型       变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。   &nb...

pyspark操作MongoDB的方法步骤

pyspark操作MongoDB的方法步骤

如何导入数据 数据可能有各种格式,虽然常见的是HDFS,但是因为在Python爬虫中数据库用的比较多的是MongoDB,所以这里会重点说说如何用spark导入MongoDB中的数据。...

pytorch中的上采样以及各种反操作,求逆操作详解

pytorch中的上采样以及各种反操作,求逆操作详解

import torch.nn.functional as F import torch.nn as nn F.upsample(input, size=None, scale_fact...

使用XML库的方式,实现RPC通信的方法(推荐)

使用XML库的方式,实现RPC通信的方法(推荐)

1、先说结论:使用xml-rpc的机制可以很方便的实现服务器间的RPC调用。 2、试验结果如下: 3、源码如下: 服务器端的源代码如下: import operator, math...

python实现跨excel的工作表sheet之间的复制方法

python,将test1的Sheet1通过“跨文件”复制到test2的Sheet2里面。 包括谷歌没有能搜出这种问题答案。 我们贴出代码。 我们加载openpyxl这个包来解决:...