Django聚合查询及分组查询

导入聚合函数方法python

from django.db.models import Sum, Avg, Max, Min
  • 聚合查询
    查询全部书籍的数量django

    models.Books.objects.filter().aggregate(Sum('id'))

    上面的方法执行返回的结果是一个字典,其中sum做为键,查询结果做为值ide

  • 聚合查询配合分组
    查询全部类型为小说的书籍数量
    models.Books.objects.filter(type = '小说').values('type').annotate(sum = Sum('id'))

    上面的方法执行返回的结果是一个QuerySet类型的列表,values做为分组的条件,annotate则是聚合函数的执行方法函数