从 Django 的 RawQuerySet 获取数据库游标

2024-03-01

我在 Postgres 中有一个相当大的表(20M+),我尝试对其进行原始 Django 查询:

tweets = TweetX.objects.raw("SELECT * from twitter_tweet").using("twittertest")

我很快就得到了一个 RawQuerySet,但是当我尝试迭代它的结果时,它就停止了:

for tweet in tweets:
   #do stuff

内存正在稳步增加,因此我怀疑整个数据集正在被传输。 有没有办法从中获取数据库游标.raw这样我就可以迭代结果集而无需一次传输全部内容?


看来说服 django/postgres 使用数据库游标是相当困难的。相反,它会获取所有内容,然后在其上放置一个客户端迭代器(称为游标)。

找到了解决方案over http://thebuild.com/blog/2010/12/13/very-large-result-sets-in-django-using-postgresql/ here http://thebuild.com/blog/2010/12/14/using-server-side-postgresql-cursors-in-django/显式创建一个数据库游标。唯一的缺点是它不再适合 django 模型。

from django.db import connections

conn = connections['twittertest']
# This is required to populate the connection object properly
if conn.connection is None:
    cursor = conn.cursor()        

cursor = conn.connection.cursor(name='gigantic_cursor')
cursor.execute("SELECT * from twitter_tweet")

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

从 Django 的 RawQuerySet 获取数据库游标 的相关文章

  • 第一次从按钮提交时,只有单击两次后才会打开模态框

    我有一个模式弹出窗口可以通过单击按钮打开 不幸的是 当第一次在浏览器中提交时 我只能在单击两次后才能看到弹出窗口 但是 一旦弹出窗口打开并关闭 我就可以在下一次尝试中单击一次来打开模式 如果我刷新浏览器也会发生同样的情况 这看起来很奇怪 任
  • matplotlib 中的 R 风格数据轴缓冲区

    R 绘图自动设置 x 和 y 限制 以在数据和轴之间留出一些空间 我想知道 matplotlib 是否有办法自动执行相同的操作 如果没有 是否有一个好的公式或 经验法则 来说明 R 如何设置其轴限制 在 matplotlib 中 您可以通过
  • Pandas 连接问题:列重叠但未指定后缀

    我有以下数据框 print df a mukey DI PI 0 100000 35 14 1 1000005 44 14 2 1000006 44 14 3 1000007 43 13 4 1000008 43 13 print df b
  • 组和平均 NumPy 矩阵

    假设我有一个任意的 numpy 矩阵 如下所示 arr 6 0 12 0 1 0 7 0 9 0 1 0 8 0 7 0 1 0 4 0 3 0 2 0 6 0 1 0 2 0 2 0 5 0 2 0 9 0 4 0 3 0 2 0 1 0
  • 类型错误:float() 参数必须是字符串或数字,而不是“列表”python

    我的 Python 有问题 这是我的代码 def calcola a input b float a 0 split c float a 0 split d float a 0 split e float a 0 split j float
  • 使用 pandas 将字符串对象转换为 int/float

    import pandas as pd path1 home supertramp Desktop 100 life 180 data csv mydf pd read csv path1 numcigar Never 0 1 5 Ciga
  • Paramiko SSHException 通道已关闭

    我一直在使用 Paramiko 在 Linux Windows 机器上发送命令 它可以很好地在 Ubuntu 机器上远程执行测试 但是 它不适用于 Windows 7 主机 以下是我收到的错误 def unit for event self
  • 如何在Python代码中查找列号

    简短问题 当按上述方式调用函数时 我可以找到行号here https stackoverflow com questions 3056048 filename and line number of python script 同样 如何找到
  • 张量流和线程

    下面是来自 Tensorflow 网站的简单 mnist 教程 即单层 softmax 我尝试通过多线程训练步骤对其进行扩展 from tensorflow examples tutorials mnist import input dat
  • Django 模型字段默认基于另一个模型字段

    我使用 Django Admin 构建一个管理站点 有两张表 一张是ModelA其中有数据 另一个是ModelB里面什么也没有 如果一个模型字段b b in ModelB为None 可以显示在网页上 值为ModelA的场a b 我不知道该怎
  • Tensorflow 不分配完整的 GPU 内存

    Tensorflow 默认分配所有 GPU 内存 但我的新设置实际上只有 9588 MiB 11264 MiB 我预计大约 11 000MiB 就像我的旧设置一样 张量流信息在这里 from tensorflow python client
  • 如何使用 Celery 多工作人员启用自动缩放?

    命令celery worker A proj autoscale 10 1 loglevel info启动具有自动缩放功能的工作人员 当创建多个工人时 me mypc projects x celery multi start mywork
  • 将列表中的 None 替换为最左边的非 none 值

    Given a None 1 2 3 None 4 None None I d like a None 1 2 3 3 4 4 4 目前我已经用以下方法强制它 def replaceNoneWithLeftmost val last Non
  • 如何分析组合的 python 和 c 代码

    我有一个由多个 python 脚本组成的应用程序 其中一些脚本正在调用 C 代码 该应用程序现在的运行速度比以前慢得多 因此我想对其进行分析以查看问题所在 是否有工具 软件包或只是一种分析此类应用程序的方法 有一个工具可以将 python
  • 根据列索引重命名 Dataframe 列

    是否有内置函数可以按索引重命名 pandas 数据框 我以为我知道列标题的名称 但事实证明第二列中有一些十六进制字符 根据我接收数据的方式 我将来可能会在第 2 列中遇到这个问题 因此我无法将这些特定的十六进制字符硬编码到 datafram
  • Django Rest Framework POST 更新(如果存在或创建)

    我是 DRF 的新手 我阅读了 API 文档 也许这是显而易见的 但我找不到一个方便的方法来做到这一点 我有一个Answer与 a 具有一对一关系的对象Question 在前端 我曾经使用 POST 方法来创建发送到的答案api answe
  • Django - 隐藏内联标签

    如何在 Django 内联中隐藏标签 当我理解正确时 您可以通过添加属性将 verbose name 设置为模型中的空字符串 verbose name 到你的领域就像 street models CharField max length 5
  • 在 scipy 中创建新的发行版

    我试图根据我拥有的一些数据创建一个分布 然后从该分布中随机抽取 这是我所拥有的 from scipy import stats import numpy def getDistribution data kernel stats gauss
  • 如何在Tensorflow中保存估计器以供以后使用?

    我按照教程 TF Layers 指南 构建卷积神经网络 以下是代码 https github com tensorflow tensorflow blob r1 1 tensorflow examples tutorials layers
  • 如何使用 Pandas Series 绘制两个不同长度/开始日期的时间序列?

    我正在绘制 每周总事件 的几个熊猫系列对象 系列中的数据events per week看起来像这样 Datetime 1995 10 09 45 1995 10 16 63 1995 10 23 83 1995 10 30 91 1995

随机推荐

  • 将 Eclipse Android 项目更新到下一个版本

    我在 Eclipse 中有一个 android 项目 我开始在 android 版本 2 2 中开发 我认为 我想更新该项目以在我的 2 3 3 设备上运行 有没有办法升级项目或者我需要创建一个新项目 因此 根据您的问题 我只想说 Andr
  • 修复发送信号中断系统调用时的竞争条件

    我有一个线程read 来自套接字 我希望能够异步停止线程 线程伪代码如下所示 int needs quit 0 void thread read void arg while 1 if needs quit close sock fd re
  • AlbersEqualArea 使用 lon 和 lat 限制区域

    我的数据是 100o 30o lon 和 0o 80o lat 我想使用投影来仅显示该区域 在我的脑海中 我想展示这样的情节 但是 当我尝试 AlbersEqualArea 投影时 如下所示 plt figure figsize 5 129
  • 使用 OkHttp、Okio 和 RxJava 下载文件

    我正在尝试使用 OkHttp 下载文件并使用 Okio 写入磁盘 我还为此过程创建了一个 rx observable 它正在工作 但是它比我以前使用的 Koush 的 Ion 库 明显慢 以下是我创建可观察对象的方法 public Obse
  • 无法将“System._COMObject”类型的 COM 对象转换为接口类型

    我有 3 个 SSIS 包 3 个 SSIS 包中的两个可以完美运行 第三个 这是第二个的副本 除了更改连接字符串不断引发问题 无法将类型 System ComObject 的 COM 对象强制转换为接口类型 Microsoft SqlSe
  • 在 for 循环中未设置的批处理脚本变量无效

    下面是我的脚本 我试图查看下面一层的文件夹并仅挑选出这些文件夹 因此 9 从路径中提取最后 9 个字符 但 set var 不会取消设置变量 因为输出返回时 相同的文件夹名称重复 次 另外 批处理不允许我直接在 i 上执行此提取技巧 因此需
  • 存根和mockito中的区别

    我是mockito新手 需要知道存根和何时之间的区别 1 stub cpproxy getBinList toReturn gettestbins 2 when cpproxy getBinList thenReturn gettestbi
  • Delphi - TDictionary 线程安全吗

    我的想法是使用 TDictionary 来管理 IdTCPServer 上的客户端连接 这是一个用于理解目的的简单示例代码 未经测试 var Dic TDictionary
  • 如何使用 FFMPEG 最好地转换 Flash 兼容的 mp4 文件?

    我正在尝试将不同的文件转换为闪存兼容的文件 mp4使用 ffmpeg 文件 但我似乎无法让它工作 当然 目标是以最小的文件大小获得最好的质量 到目前为止 我已经有了这个 它可以工作 但由于某种原因它不能在 Flash 播放器中播放 结果不太
  • hdf5 和 ndarray 附加/大型数据集的省时方法

    背景 我有一个 k n 维时间序列 每个序列表示为 m x n 1 数组 其中包含浮点值 n 列加上代表日期的一列 Example k 大约 400 万 个时间序列 看起来像 20100101 0 12 0 34 0 45 20100105
  • 预期为 &-ptr,在迭代元组数组时找到元组

    我有一个数组 const adjacent i8 i8 8 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 该数组代表一个单元格内的所有相邻单元格ROWxCOLUMN网格 为了迭代这个数组以找到所有邻居 我这样做 for k
  • Android Studio logcat 历史记录/缓冲区大小

    有谁知道是否有办法增加 Android Studio 中 logcat 历史记录 缓冲区的大小 我记得在 Eclipse 中有一种方法可以做到这一点 并希望 Android Studio 有类似的设置 您还可以通过 IDE 按项目执行此操作
  • O(1) 时间内的链表串联

    我遇到了一个有趣的问题 我对提供给我的答案感到困惑 问题如下 The concatenation of 2 lists can be performed O 1 time Which of the following implementat
  • 我应该选择指针还是引用作为数据成员?

    这是一个简单的例子来说明这个问题 class A class B B A a a a A a class C C b a A a B b So B负责更新一部分C 我通过 lint 运行了代码 它抱怨引用成员 皮棉 1725 http gi
  • 此 font: 速记属性语法有效吗? (我对规范的阅读表明是的,但我安装的浏览器中有一半不同意。)

    这是有效的吗 font bold 10px 13px inherit 根据我读到的specs http www w3 org TR CSS2 fonts html font shorthand这应该意味着 粗体 的字体粗细 继承 的字体系列
  • 如何使用zxing条码读取应用程序实现缩放功能?

    我正在使用 zxing 条形码读取应用程序 我需要在应用程序中添加缩放功能 以便我可以从更远的距离扫描条形码 即在扫描条形码时 应该能够缩放相机预览 我怎样才能做到这一点 Thanks 变焦并没有多大帮助 因为它是数码变焦 事实上 它往往会
  • 如何增加顶点数?

    我需要一个参数化形式matplotlib path Path 所以我用了 vertices属性 它工作得很好 只是给出的点数对于我想要的用途来说太低了 这是一段代码来说明 import numpy as np from matplotlib
  • java库从文件内容查找mime类型[重复]

    这个问题在这里已经有答案了 我正在寻找一个java库 它通过查看文件内容 字节数组 来告诉你mime类型 我发现这个项目使用 jmimemagic 它不再支持较新的文件类型 例如 MS word docx 格式 因为它现在处于非活动状态 从
  • 如何在 Visual Studio 2008 中使用 Visual Studio 2010 C++ 工具?

    如果可能的话 有人知道如何在 Visual Studio 2008 中使用 Visual Studio 2010 附带的完整 c 工具集 编译器 链接器 sdk 吗 更改 选项 gt 项目和解决方案 gt VC 目录 下监听的所有目录就足够
  • 从 Django 的 RawQuerySet 获取数据库游标

    我在 Postgres 中有一个相当大的表 20M 我尝试对其进行原始 Django 查询 tweets TweetX objects raw SELECT from twitter tweet using twittertest 我很快就