当前位置: 首页 > 面试题库 >

在Django Shell会话期间获取SQL查询计数

程凯定
2023-03-14
问题内容

有没有一种方法可以打印在Django Shell会话期间Django ORM执行的原始SQL查询的数量?

Django调试工具栏已经提供了这类信息(例如,5 QUERIES in 5.83MS但如何从shell中获取信息尚不明显。


问题答案:

您可以使用connection.queries

>>> from django.conf import settings
>>> settings.DEBUG = True
>>> from django.db import connection
>>> Model.objects.count()
>>> # python 3 uses print()
>>> print(len(connection.queries))
1


 类似资料:
  • 我有三个表,分别名为device_table、playlist_table和device_playlist_assoc device_playlist_assoc表用于将设备与播放列表相关联。 device_table playlist_table Device_PlayList_Assoc 所以,我想要的是那些没有播放列表的设备。我只从前端获得playlist_id作为参数。所以我想要一个sql

  • 问题内容: 我正在管理事件数据库。每个事件都有开始和结束时间戳记()。 目前,我可以通过一个SQL查询执行以下操作: 建立日历,并记下发生事件的日期 列出给定日期(YYYY / MM / DD,YYYY / MM)中发生的事件 问题是当一个事件跨越几天时,我无法在它的开始和结束时间戳之间的日期列出它。 例如: 活动开始于2011/05/25和结束于2011/05/27,但我无法在页面2011/05

  • 我正在用会话加载数据,但没有看到我在其他地方所做的更改。 “由于在刷新过程中出现以前的异常,此会话的事务已回滚。”(或类似) 但是为什么flush()坚持发布回滚? 但是为什么一个自动调用回滚不够?为什么我必须再次回滚? 如何创建一个始终为每个查询添加特定筛选器的查询? 我的查询返回的对象数与查询.count()告诉我-为什么? 我已经创建了一个针对外部联接的映射,当查询返回行时,不会返回任何对象

  • 问题内容: 如果我有一个表列,,, 并且我想运行一个sql查询以获取数据集中最早的记录。 您可以在查询中执行此操作,还是需要在事实之后循环? 我想获取该记录的所有字段。 问题答案: 如果您只想要日期: 如果您需要所有信息: 尽可能避免循环。循环通常会导致游标,游标几乎从来没有必要,而且常常效率很低。

  • 我在用阿帕奇凤凰和HBase。但是即使是像count(*)这样的简单查询也需要大约2-3秒。 这是预期的响应时间还是我漏掉了什么。

  • 问题内容: 我需要有关SQL查询的帮助。 我正在尝试从表中选择所有记录,这些记录将不能在两个日期“ 2009-12-15”和“ 2010-01-02”之间容纳。 这是我的表结构: 我的查询: 知道为什么我的查询选择错误的记录吗?我应该将查询中的值顺序更改为类似以下内容: 非常感谢您的帮助 问题答案: 如何尝试: 它将返回所有与您的日期范围完全不重叠的日期范围。