Django 查询集上的 Count() 与 len()

2023-12-29

在 Django 中,鉴于我有QuerySet我要迭代并打印结果,计算对象的最佳选择是什么?len(qs) or qs.count()?

(另外考虑到在同一迭代中计算对象也不是一种选择。)


虽然Django 文档 https://docs.djangoproject.com/en/stable/ref/models/querysets/推荐使用count而不是len:

注意:不要使用len()如果您只想确定集合中的记录数,则可以在查询集上使用。使用 SQL 在数据库级别处理计数要高效得多SELECT COUNT(*),Django 提供了一个count()方法正是出于这个原因。

既然你无论如何都要迭代这个 QuerySet,结果将被缓存 https://docs.djangoproject.com/en/stable/topics/db/queries/#caching-and-querysets(除非你正在使用iterator https://docs.djangoproject.com/en/stable/ref/models/querysets/#django.db.models.query.QuerySet.iterator),所以最好使用len, since 这可以避免再次访问数据库,也可以避免检索不同数量的结果!).
如果您正在使用iterator,那么出于同样的原因,我建议在迭代时包含一个计数变量(而不是使用计数)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 查询集上的 Count() 与 len() 的相关文章

  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • 在 nHibernate 关系中使用实体的 Lite 版本?

    在某些情况下 出于性能原因 创建一个实体的轻量级版本 指向同一个表 但映射的列较少 这是一个好主意吗 例如 如果我有一个包含 50 列的联系人表 并且在一些相关实体中 我可能对 FirstName 和 LastName 属性感兴趣 那么创建
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 在 MySQL 中使用 COUNT 时如何返回 0 而不是 null

    我使用此查询返回存储在 sTable 中的歌曲列表以及存储在 sTable2 中的总项目数 SQL queries Get data to display sQuery SELECT SQL CALC FOUND ROWS str repl
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的

随机推荐

  • WMI 和 Win32_DeviceChangeEvent - 返回了错误的事件类型?

    我正在尝试使用 WMI 注册 设备添加 设备删除 事件 当我说设备时 我指的是钥匙上的磁盘或任何其他带有我可以访问的文件的设备 我正在注册该事件 并且引发了该事件 但 EventType 属性与我期望看到的不同 文档 MSDN http m
  • 使用实体框架向模型添加方法

    使用实体框架 是否可以向对象类添加方法 例如 我有一个 CLIENT 映射 我想创建一个 getAgeFromBirhDate 方法 是的 这是可能的 实体框架生成部分课程 http msdn microsoft com en us lib
  • 日期时间的 SSIS 源格式隐式转换

    有谁知道有一个图表可以显示 SSIS 中不同数据类型支持哪些日期格式 例如 是否DT DBTimestamp支持格式1 Jan 我尝试寻找但找不到任何东西 我问的原因是我发现当我尝试做一个Convert datetime 1 Jan 它失败
  • 为什么我不能在 Scala 子类中分配给 var?

    假设我有以下抽象类 abstract class A var is happy Boolean def toggle happiness 现在我想定义一个具体的类来实现toggle happiness method class B is h
  • 无法使用 Bouncy Castle 与 Xamarin 和 Java Server 从流读取(IOException:非阻塞套接字会阻塞)

    先决条件 我正在使用 Xamarin 编写一个移动应用程序 该应用程序应该与 java 服务器交换小消息块 我使用 Bouncy Castle 的 NET 实现通过 TLS 发送数据 因为我仅限于特定的密码套件 TLS ECDH anon
  • 为什么 08 在 Java 中不是有效的整数文字?

    Why is 08被认为是超出范围的 int 但07而下面不是吗 在 Java 和其他几种语言中 以0被解释为八进制 基数为 8 数量 对于个位数 除08 and 09 这是不允许的 结果是相同的 所以您可能没有注意到它们被解释为八进制 但
  • 为什么我会收到“不兼容的类型:对象无法转换为字符串”?

    我正在尝试使用最简单的代码从 Android 应用程序调用 Web API REST 方法 以及我找到的代码here http www speakingcode com 2012 09 10 how to consume data from
  • 读取 R 中的有向图

    我在阅读 创建有向图时遇到问题 我按照我找到的步骤进行操作here http www ats ucla edu stat r faq snplot htm 这是我的文本文件图 txt 1 2 1 3 2 5 3 4 3 5 4 5 5 6
  • 如何仅在赋值时实现嵌套字典的自动生存?

    TL DR 在为子键分配值时 如何让超级键在 Python 字典中自动激活 而不在检查子键时也让它们自动激活 背景 通常在Python中 在嵌套字典中设置值需要在分配给子键之前手动确保更高级别的键存在 那是 my dict 1 2 3 如果
  • 在 SuiteScript 中设置国家/地区

    我需要从销售订单上的自定义字段设置采购订单上的发货国家 地区 根据 NS 文档 记录浏览器 该字段是文本 但在 UI 中显然它是一个下拉菜单 在架构浏览器中 它引用国家 地区列表 其中值为 unitedStates 等 我尝试将其设置为 U
  • 如何实现CSS边框角倒角而不是圆角?

    通过CSSborder radius属性我可以在末尾有一个弯曲的圆角边框 boxLeft border right 1px dashed 333 border bottom 1px dashed 333 border radius 0 0
  • 删除 YouTube 观看稍后播放列表项目失败 - 返回 404

    我有代码可以从我的 youtube watch Later 播放列表中删除一个项目 大约两周前 这一切都正常 现在我从 YouTube 收到 404 错误 这是请求和响应的序列 当然 身份验证详细信息已被删除 获取播放列表项请求 GET 获
  • Angular 2 如何模糊按钮返回时的输入?

    如何模糊input按本机键盘返回button在移动 例如
  • XCode 4.2 版本检查器隐藏情节提要

    我不确定其他人是否遇到这个问题 但是当我单击 XCode 中的 版本编辑器 按钮时 我的 Storyboard 切换到 XML 视图 并且我不知道如何恢复可视化编辑器 有人可以帮忙吗 我真的希望这只是深夜编码困倦的结果 提前致谢 右键单击
  • AddressBook:如何获取不同 Exchange 源的名称

    我想要获取我的 iPhone 同步到的所有 Exchange 源的名称 例如如果我使用 ActiveSync Exchange 将我的设备同步到 Gmail 和 Hotmail 帐户 在本机联系人中 我可以根据我设置的不同帐户看到不同的部分
  • 是否有涵盖 iPhone、Android、WebOS 和 Blackberry OS 的 jQ Touch 等效产品?

    我即将开始使用 HTML5 CSS3 和 JavaScript 为最新的智能手机编写一个 Web 应用程序 我需要的不是框架 而是像 jQuery 这样的库 我研究了 jQTouch 它非常适合 iPhone 显然也支持 Android 但
  • JBoss JAAS 自定义登录模块

    我正在尝试使用自定义JAAS托管的基于 Web 的应用程序的身份验证模块JBoss 5 1 0 GA 所以一切似乎都工作正常 直到用户数量增加并且会话 它认为 开始变得混合 我使用自定义 JAAS 的原因是因为自定义身份验证后端以及需要传回
  • PHP 5 反射 API 性能

    我目前正在考虑在我自己的 MVC Web 框架中使用 Reflection 类 主要是 ReflectionClass 和 ReflectionMethod 因为我需要自动实例化控制器类并调用它们的方法 而无需任何所需的配置 约定优于配置
  • Telegram 机器人键盘通过 JSON 发送

    我正在使用 MS Bot 框架 我想向用户发送自定义键盘 因此我尝试使用以下 JSON 回复消息 public async Task
  • Django 查询集上的 Count() 与 len()

    在 Django 中 鉴于我有QuerySet我要迭代并打印结果 计算对象的最佳选择是什么 len qs or qs count 另外考虑到在同一迭代中计算对象也不是一种选择 虽然Django 文档 https docs djangopro