首页 > 其他分享 >Django使用聚合查询(价格乘以总数得到总价,并以总价排名)

Django使用聚合查询(价格乘以总数得到总价,并以总价排名)

时间:2024-02-15 20:23:27浏览次数:30  
标签:总价 自定义 models 查询 乘以 amount Django Stock

自定义库存表(Stock)

class Stock(models.Model):
  amount = amount = models.IntegerField(verbose_name='数量')
  price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='单价')

使用模板语法完成自定义查询:

Stock.objects.annotate(profit=F('price')*F('amount')).order_by('-profit')

—— 实现了以将所有库存总价格(单价*数量)由高到低的查询出来

标签:总价,自定义,models,查询,乘以,amount,Django,Stock
From: https://www.cnblogs.com/wellplayed/p/18016553

相关文章

  • Django+nginx+uwsgi
    在云服务器上搭建web网站服务器的系统是CentOS7.6一、安装Python3.8.181、安装gccyuminstallgcc-y2、安装编译python的依赖yuminstallzlibzlib-devel-yyuminstallbzip2bzip2-devel-yyuminstallncursesncurses-devel-yyuminstallreadlinereadline-d......
  • Django 模版变量
    Django模版变量Django模版语言的语法主要分为以下四个部分:变量标签过滤器注释一、模版变量1)变量的命名规范Django对于模版变量的命名规范没有太多的要求,可以使用任何字母、数字和下划线的组合来命名,且必须以字母或下划线开头,但是变量名称中不能有空格或者标点符号。2......
  • 三十五、Django实践的笔记
    Django时间时区datetime.datetime.now().strftime('%Y-%m-%d%H:%M:%S'),得到的是标准时区的时间字符串https://blog.csdn.net/qiaominghe/article/details/86593744https://blog.csdn.net/qq_42778001/article/details/111088130https://zhuanlan.zhihu.com/p/24246164fro......
  • python3.9 + django4.1 + vue3 ,报错,无法访问配置的路由地址,Using the URLconf defined
    python3.9+django4.1+vue3,报错,无法访问配置的路由地址,UsingtheURLconfdefinedinStudentMgrBE.urls,DjangotriedtheseURLpatterns,inthisorder:-------------------------------------------------------------------------------无法访问 地址,报错如下: Us......
  • 二十三、Django之Form组件
    Django的Form:1、对用户请求的验证2、生成HTML代码a、创建一个类b、类中创建字段(包含正则表达式)c、Geta)Obj=Fr()obj.user=>自动生成HTMLd、POSTa)Obj=Fr(request,POST)i.Ifobj.is_valid():Obj.cleaned_dataElse:......
  • 二十四、Django Serializes
    SerializersDjango中,自定义类型的对象无法通过json序列化,可以使用serializers。defget_data(request):#由于UserInfo是自定义对象,不能通过json序列化#因此使用以下方式fromdjango.coreimportserializersret={'status':True,'data':None}try:......
  • 十八、Django之Http
    1、Django请求的生命周期请求响应Http1、发送Http请求请求头(包含Cookie)\r\n\r\n请求体2、服务器请求,根据请求头中的url在路由关系表中进行匹配(从上到下)3、匹配成功后,执行指定的views函数a.Url->函数==>FBVb.Url->类==>CBV4、响应内......
  • 十六、Django的ORM(二)
    1、DecimalFieldDecimalField保存浮点型数据比FloatField精确,因为它是以字符串来保存,而FloatField,数据越长,保存得越不精确。2、索引(命中索引)正确使用SQL语言,使查找数据时,用到索引username=models.CharField(...#db_index=True数据库中字段是否可以建立......
  • 十五、Django的ORM
    单表操作1、表记录的添加方式一:Book()+obj.save()b=Book(name="python基础",price=99,author="yuan",pub_date="2017-12-12")b.save()#将b存到数据库方式二:createBook.objects.create(name="linux",price=78,author="HK",pub_date="......
  • 十四、MySQL与Django之Model基础
    数据库Django默认支持sqlite、mysql、oracel、postgresql等数据库1、sqlitedjango默认使用sqlite数据库Django.db.backends.sqlite3DATABASES={'default':{'ENGINE':'django.db.backends.sqlite3','NAME':os.path.join(BA......