奇怪的 SQLAlchemy 错误消息:TypeError: 'dict' 对象不支持索引

2024-01-07

我正在使用 SqlAlchemy 使用手工编写的 SQL 从 PG 数据库中获取数据。我正在尝试一个包含类似 SQL 运算符 '%' 的查询,这似乎会导致 SqlAlcjhemy 陷入循环:

sql = """
       SELECT DISTINCT u.name from user u
        INNER JOIN city c ON u.city_id = c.id
        WHERE c.designation=upper('fantasy') 
        AND c.id IN (select id from ref_geog where short_name LIKE '%opt')
      """

# The last line in the above statement throws the error mentioned in the title. 
# However if the last line is change to:
# AND c.id IN (select id from ref_geog where short_name = 'helloopt')
# the script runs correctly.
#
# I also tried double escaping the '%' i.e. using '%%' instead - that generated the same error as previously.

connectDb()
res = executeSql(sql)
print res
closeDbConnection()

任何人都知道是什么导致了这一误导性错误消息以及我如何解决它?

[[Edit]]

在有人问之前,上面包含的功能并没有什么特别或奇特的地方。例如,函数executeSql() 只是调用conn.execute(sql) 并返回结果。变量 conn 只是之前建立的数据库连接。


你必须给予%%将其用作%因为%在 python 中用作字符串格式,因此当您编写单个%它假设您将用它替换一些值。

所以当你想放置单身时%在带有查询的字符串中总是放置双精度%.

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

奇怪的 SQLAlchemy 错误消息:TypeError: 'dict' 对象不支持索引 的相关文章

随机推荐

  • 请向我解释一下 Subversion

    我看过的每个网站和视频在每个句子中都至少引入了五个新概念 例如 http www youtube com watch v WjddHpBi8Go http www youtube com watch v WjddHpBi8Go 就好像所有这
  • 使用 URLLoader AS3 上传图像的进度

    我正在 Flash 中开发图像上传器 我使用 FileReference browse 浏览图像 然后将该图像的大小调整为 1000 x 1000 px 如果图像很大 然后上传到服务器 我想显示图像上传进度的进度条 我正在使用 URLLoa
  • ASP.NET MVC 应用程序中的多租户日志记录

    我在 ASP NET MVC 5 中有一个多租户应用程序 可以接受来自多个公司的客户端登录 目前 我使用 log4net 来记录文件 但它将所有公司的所有日志放在一个文件中 理想情况下 我想将日志文件分开 以便每个公司的日志都位于其自己的文
  • Firestore错误:[cloud_firestore/unknown]无效参数(dartObject):无法转换:“_FieldValueServerTimestamp”实例

    我在用着flutter and firestore我想做的是每次点击提交按钮时将一个对象添加为列表中的子对象 在那个对象里面 我想要一个createdAt字段 其中应存储时间戳信息 为此 我正在尝试使用FieldValue serverTi
  • 协程:runBlocking 与 coroutineScope

    我正在读书协程基础知识 https kotlinlang org docs reference coroutines basics html试图理解和学习它 那里有一段代码 fun main runBlocking this Corouti
  • PyCharm 模块成员的未解析参考

    我正在 MacOS 上的 PyCharm 中开发一个 Flask 应用程序 当我尝试像这样导入烧瓶当前应用程序时 from flask import current app as app 我收到检查错误 Unresolved referen
  • 用于 python 的网页抓取 remax.com

    这与我的问题类似here https stackoverflow com questions 54892103 web scrapping remax com in python 这得到了完美的回答 现在我有一些事情要做 我现在要做的就是不
  • 计算引擎上的 google cloudML 的 Docker 容器 - 验证安装桶

    我一直在与谷歌的机器学习平台合作 cloudML 大图 我正在尝试找出最干净的方法来获取他们的码头工人环境 https stackoverflow com questions 41605801 authenticate google clo
  • 提升deadline_timer问题

    下面是用计时器包装线程的测试类的实现 奇怪的是 如果截止时间设置为 500 毫秒 它可以工作 但如果我将其设置为 1000 毫秒 它就不起作用 我究竟做错了什么 include TestTimer hpp include SysMLmode
  • 在进程内存中缓存大量数据

    我在金融行业工作 我们希望推出数据库命中来进行数据处理 这是非常昂贵的 因此 我们计划采用按需缓存逻辑 运行时插入和运行时查找 有人参与过超过 1000 万条记录的缓存逻辑实现吗 每条记录大约为 160 200 字节 我使用不同的方法面临以
  • 如何在aws elastic-beanstalk上自动重新启动节点应用程序

    我用谷歌搜索了这个问题一段时间但找不到答案 我的问题是在 aws elastic beanstalk 服务器上部署 nodejs 应用程序时 我希望如果应用程序崩溃 nodejs 应用程序将自动重新启动 实际上 很少有 Node js 包已
  • 如何通过phonegap上传Facebook活动照片?

    我正在研究 Phonegap 现在我正在使用这个 post https graph facebook com Event Id Photos uri access token fbAccessToken function data Some
  • MVC ELMAH 和 SQL Azure

    背景故事 我们主要使用 AWS 来处理所有事情 托管 数据库 通知等 现在 我正在考虑将数据库端迁移到 SQL Azure 因为我们在 AWS RDS 上收到了疯狂的账单 因此 我尝试做的就是在 SQL Azure 中创建一个数据库并更新连
  • 使用 PHP 删除 URL 尾部斜杠的最佳方法

    我有一些网址 例如www amazon com www digg com or www microsoft com 我想删除尾部斜杠 如果存在 因此不仅仅是最后一个字符 有没有trim or rtrim为了这 You put rtrim在你
  • 为什么 HttpURLConnection.getResponseCode() 会抛出 IOException? [复制]

    这个问题在这里已经有答案了 我理解了getResponseCode 方法只是一个 getter 方法 返回statusCode已经由之前发生的连接操作设置 那么在这种情况下 为什么它会抛出一个IOException 我错过了什么吗 From
  • TCP校验和计算与wireshark计算不匹配

    我遇到一个问题 示例程序 复制如下 生成的 tcp 校验和与wireshark 计算的校验和不匹配 有人可以指出我哪里出错了吗 这里我尝试了两种方法 tcp 校验和 get ipv6 udptcp checksum 有了这两个值 就会得到两
  • 使用 ant mxmlc 任务将运行时库路径添加到 Flex 构建配置

    我正在尝试构建一个 Flex 项目 并将其链接到一些 RLS 在 Flex Builder 中设置项目时 相应的 构建配置 我通过将 dump config 添加到编译器选项而获得 会生成 除其他外 如下所示的标签
  • 为什么历史记录在 Firefox 中的 onclick 上不起作用?

    我不明白为什么在 Firefox 中 window history back 确实适用于按钮
  • 使用堆栈来遍历和解决迷宫 - Java

    所以我正在尝试创建一个迷宫求解器程序来解决 X 和 O 的迷宫 我想做的是创建一个点类 这样我就可以创建一个二维点数组 这将允许打印到输出页面以及相对简单地实现堆栈 我想在实际程序本身中实现的一般思想的最简单算法我认为应该是 1 Move
  • 奇怪的 SQLAlchemy 错误消息:TypeError: 'dict' 对象不支持索引

    我正在使用 SqlAlchemy 使用手工编写的 SQL 从 PG 数据库中获取数据 我正在尝试一个包含类似 SQL 运算符 的查询 这似乎会导致 SqlAlcjhemy 陷入循环 sql SELECT DISTINCT u name fr