django 聚合函数

Talk is cheap,show you the code!

聚合函数 Sum的用法:

total_sale_num = Saleinfo.filter(product_id="9321374", sku_id=1).aggregate(total_sale_num=Sum(‘sale_num‘)).get(‘total_sale_num‘) or 0

求出销售信息中的商品id为9321374,规格id为1的销售总数


时间: 2024-11-02 12:10:46

django 聚合函数的相关文章

django的聚合函数和aggregate、annotate方法使用

支持聚合函数的方法: 提到聚合函数,首先我们要知道的就是这些聚合函数是不能在django中单独使用的,要想在django中使用django聚合函数,就必须把这些聚合函数放到支持他们的方法内,这样才能执行.支持聚合函数的方法有两种,分别是aggregate和annotate,这两种方法执行的原生SQL以及结果都有很大的区别,下面我们以实例操作的方式一一介绍: # 示例模型: class Author(models.Model): """作者模型"""

django ORM聚合函数

在Django中,聚合函数是通过aggregate方法实现的,aggregate方法返回的结果是一个字典 在使用时需要先导入模块from django.db.models import Count,Avg,Max,Min,Sum 假设有一个模型 class Book(models.Model): name = models.CharField(max_length=100) pages = models.IntegerField() price = models.FloatField() aut

django字段查询参数及聚合函数

字段查询是指如何指定SQL WHERE子句的内容.它们用作QuerySet的filter(), exclude()和get()方法的关键字参数. 默认查找类型为exact. 下表列出了所有的字段查询参数: 字段名 说明 exact 精确匹配 iexact 不区分大小写的精确匹配 contains 包含匹配 icontains 不区分大小写的包含匹配 in 在..之内的匹配 gt 大于 gte 大于等于 lt 小于 lte 小于等于 startswith 从开头匹配 istartswith 不区分

070:【Django数据库】ORM聚合函数详解-准备工作

ORM聚合函数详解-准备工作: 如果你用原生SQL,则可以使用聚合函数来提取数据.比如提取某个商品销售的数量,那么可以使用count,如果想要知道商品销售的平均价格,那么可以使用avg.聚合函数是通过aggregate方法来实现的.在讲解这些聚合函数的用法的时候,都是基于以下的模型对象来实现的. 创建如下models: from django.db import models class Author(models.Model): """作者模型""&qu

071:【Django数据库】ORM聚合函数详解-Avg

ORM聚合函数详解-Avg: Avg:求平均值.比如想要获取所有图书的价格平均值.那么可以使用以下代码实现: from django.db.models import Avg result = Book.objects.aggregate(Avg('price')) print(result) 以上的打印结果是: {"price__avg":23.0} 其中price__avg的结构是根据field__avg规则构成的.如果想要修改默认的名字,那么可以将Avg赋值给一个关键字参数.示例

072:【Django数据库】ORM聚合函数详解-aggregate和annotate

ORM聚合函数详解-aggregate和annotate: aggregate和annotate的区别: 1.aggregate :返回使用聚合函数后的字段和值.2.annotate :在原来模型字段的基础之上添加一个使用了聚合函数的字段,并且在使用聚合函数的时候,会使用当前这个模型的主键进行分组(group by).比如以上 Sum 的例子,如果使用的是 annotate ,那么将在每条图书的数据上都添加一个字段叫做 total ,计算这本书的销售总额.而如果使用的是 aggregate ,那

075: 【Django数据库】ORM聚合函数详解-Sum

ORM聚合函数详解-Sum: Sum :求指定对象的总和.比如要求图书的销售总额.那么可以使用以下代码实现: from djang.db.models import Sum result = Book.objects.annotate(total=Sum("bookstore__price")).values("name","total") 以上的代码 annotate 的意思是给 Book 表在查询的时候添加一个字段叫做 total ,这个字段

Django 聚合与查询集API

本文从Django官方文档总结而来,将聚合的主要用法和查询集的常见方法做一归纳. 聚合 1. 聚合的产生来源于django数据库查询,通常我们使用django查询来完成增删查改,但是有时候需要更复杂的方法才能完成对数据的提取.筛选.更改,所以需要一组对象聚合来完成这种操作.模型举例如下: from django.db import models class Author(models.Model): name = models.CharField(max_length=100) age = mo

使用聚合函数及F/Q及分组查询

import os from django.core.wsgi import get_wsgi_application if __name__=='__main__': os.environ.setdefault("DJANGO_SETTINGS_MODULE", "b20190116.settings") application = get_wsgi_application() # 聚合查询(一堆聚合函数,使用之前先导入) from django.db.model