当前位置: 首页 > news >正文

django orm的Q和~Q的数据相加并不一定等于总数

以下代码纯粹是为了举例子,并假设sex性别字段可以为NULL, 实际上不会这么写

all_count = Students.objects.all().count()  # 1000# 男性数量
male_count = Students.objects.filter(sex='男')  #  600
# 非男性数量
female_count = Students.objects.filter(~Q(sex='男'))  #  300

本义是获取非男性的学生数量, 但是发现他们加起来的数量并不是总数1000,
于是定位问题,发现存在为NULL的情况,性别信息缺失导致该字段可能为NULL, 在sql语句中,NULL不是一个实际的值,它不能直接用于比较操作,如使用=号判断,如果你想检查一个字段是否为NULL,你应该使用IS NULL 或 IS NOT NULL来判断统计,而在Django orm中可以做如下修改:

非男性数量

female_count = Students.objects.filter(~Q(sex='男') | Q(sex=None))  # 400

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 影视会员充值API接口如何开发?
  • 生物信息学:DNA序列的构成
  • 大模型battle,哪家才是真的“价美”也“物美”
  • windows 11/ubuntu Teredo 设置 (ipv4 转 ipv6)
  • Python2.x 与 3.x 版本区别
  • SQLi-LABS通关攻略【51-55关】
  • Jmeter下载、配置环境变量
  • 从插件plugin和钩子hook 到“智能化自动化”架构
  • Spring——控制反转(IOC)与依赖注入(DI)
  • python3 logging入门
  • 前端换行、空格的多种表现形式
  • 【Java设计模式】集合管道模式:简化数据操作
  • python-奥运奖牌计数
  • 鸿蒙OS试题(10)
  • vue脚手架的创建
  • __proto__ 和 prototype的关系
  • 2017年终总结、随想
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • angular学习第一篇-----环境搭建
  • conda常用的命令
  • create-react-app做的留言板
  • javascript 总结(常用工具类的封装)
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • React-生命周期杂记
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • 给初学者:JavaScript 中数组操作注意点
  • 前端性能优化--懒加载和预加载
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 一天一个设计模式之JS实现——适配器模式
  • ​2020 年大前端技术趋势解读
  • #include到底该写在哪
  • (+4)2.2UML建模图
  • (6)STL算法之转换
  • (ibm)Java 语言的 XPath API
  • (Java入门)学生管理系统
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)ssm码农论坛 毕业设计 231126
  • (四)Controller接口控制器详解(三)
  • (算法)区间调度问题
  • (推荐)叮当——中文语音对话机器人
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)大型网站的系统架构
  • .md即markdown文件的基本常用编写语法
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 回调、接口回调、 委托
  • .NET 中 GetProcess 相关方法的性能
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET连接MongoDB数据库实例教程
  • /etc/sudoers (root权限管理)
  • @Validated和@Valid校验参数区别
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [1525]字符统计2 (哈希)SDUT