python re 筛选数据 求和_django queryset相加和筛选教程

本文介绍了如何在Django中利用queryset的aggregate和annotate方法进行数据筛选与求和操作。通过示例展示了如何进行集合相加、按条件筛选queryset、使用聚合函数如Count、Avg等,以及如何进行GROUP BY操作,提升复杂查询的效率。
摘要由CSDN通过智能技术生成

1、集合相加

a = {1,2,3}

b = {3,4,5}

print(type(a))

print(a|b)

2、queryset 符合条件的筛序

projects = Project_models.objects.filter(user=request.user).order_by('id')

projects = projects.filter(bad_numbers__gt=0).order_by('bad_numbers')

补充知识:django中聚合aggregate和annotate GROUP BY的使用方法

接触django已经很长时间了,但是使用QuerySet查询集的方式一直比较低端,只会使用filter/Q函数/exclude等方式来查询,数据量比较小的时候还可以,但是如果数据量很大,而且查询比较复杂,那么如果还是使用多个filter进行查询效率就会很低。就趁着清明放假的时间,跑来公司干点私活。输出成这篇文档,一是加深印象,提高熟练度;二是分享出来,造福大家~

提高查询数据库效率的方案有两种:

第一种,是使用原生的SQL语句来进行查询,这样的优点在于能够完全按照开发者的意图来执行,效率会很高,但是缺点也很明显:

1.开发者需要非常熟悉SQL语句,加大开发者的工作量,同时,夹杂着SQL的项目也不利于以后程序的维护,增大程序的耦合度。

2.若查询条件是动态变化的,则会使开发变得更加困难。

django为了解决这一难题,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值