在 python (django) 中使用带参数的游标/查询中的“like”

2023-11-23

我知道这可能很愚蠢,但我决定无论如何都要问。

我一直在尝试查询类似的内容:

 cursor.execute("select col1, col2   \
                    from my_tablem \
                    where afield like '%%s%'
                    and secondfield = %s
                    order by 1 desc " % (var1, var2) )

但我在类似的句子中遇到了错误。它不喜欢额外的 %,我需要额外的 % 来获取包含第一个 %s 值的所有结果。

Ideas?

TIA!


首先,为什么不使用 Django ORM 来实现此目的?

MyClass.objects.filter( aField__contains=var1, secondField__exact=var2 )

其次,确保您得到了您期望的 SQL。

stmt= "select... afield like '%%%s%%' and secondfield = '%s'..." % ( var1, var2 )
print stmt
cursor.execute( stmt )

第三,您的方法存在一个称为 SQL 注入攻击的安全漏洞。你真的不应该像这样执行 SQL。

如果您绝对必须在 Django ORM 之外执行操作,则必须在查询中使用绑定变量,而不是字符串替换。看http://docs.djangoproject.com/en/dev/topics/db/sql/#performing-raw-sql-queries.

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

在 python (django) 中使用带参数的游标/查询中的“like” 的相关文章

随机推荐

  • 如何处理和提取图像中的文本

    我正在尝试使用 python cv2 从图像中提取文本 结果是可悲的 我找不到改进我的代码的方法 我相信在提取文本之前需要处理图像 但不确定如何处理 我尝试将其转换为黑白 但没有成功 import cv2 import os import
  • Jetpack Compose 性能问题仅发生在多模块项目中

    我在 Jetpack Compose 中开发了一个相当复杂的键盘布局 最初 布局工作正常 按下按键时动画运行非常流畅 不幸的是 由于事件而进行了几次重组之后 动画和一切都变得非常缓慢和滞后 我尝试对 Jave 方法调用进行采样 但我只能看到
  • Couchbase 4010 错误

    我一直在测试 Couchbase 5 并创建了一个名为fp conversion data其中包含一些 JSON 数据 我一直在尝试运行一些简单的查询 例如 SELECT FROM fp conversion data limit 5 我没
  • 移出的物体是否需要销毁?

    如果我移动构建a from b 还是吗必要的破坏b 或者我可以不这样做就逃脱吗 这个问题在实施过程中闪过我的脑海optional
  • 如何只保留数组中符合特定条件的项?

    我有一个数组 我想过滤它以仅包含符合特定条件的项目 这可以用 JavaScript 完成吗 一些例子 1 2 3 4 5 6 7 8 I only want 2 4 6 8 i e the even numbers This is an a
  • 如何在 Webkit GTK 中处理自定义 URL 方案?

    假设我想使用WebKitWebView在 GTK 中显示一些静态 HTML 页面 这些页面使用自定义 URL 方案 我们称之为custom 此方案表示一个本地文件 在生成 HTML 时 其位置事先未知 我所做的就是连接到navigation
  • 安卓中的AT命令

    我想在我的应用程序中使用 AT 命令来设置 GSM 调制解调器的一些命令 我搜索了谷歌 但找不到任何好的答案 你有什么解决办法吗 我可以使用ADB向android发送AT命令吗 首先你必须root手机然后在adb shell中 su ech
  • 如何创建支持通用 id(包括自动生成的 id)的通用实体模型类?

    我有三个kinds表的主键数 INT自动生成的主键使用AUTO INCREMENT来自数据库供应商的容量 MySQL CHAR X 将用户可读值存储为键的主键 其中 X 是数字且 50 复杂主键 由表的 2 或 3 个字段组成 此外 还有一
  • TabControl 的 TabItems 共享相同的内容...不想要

    以下示例 xaml 使每个选项卡项共享相同的 TextBox 我想 在某种程度上 这是有道理的 但这是意想不到的行为 几乎感觉像是一个错误 我在文档中找不到任何解释该行为或如何正确解决该行为的信息
  • 担心在 itune 配置门户中的团队帐户下的不同组之间共享分发证书的私钥

    我们是一所大型大学 在 Apple itunes 配置门户中拥有一个团队帐户 我们有多个不同的小组开发iOS应用程序 这些应用程序将在团队帐户 大学名称 下发布 看来苹果只允许创建一份分发证书 要发布应用程序 每个组都需要私钥来签署应用程序
  • 尽管我已经删除了该对象,为什么下面的代码没有崩溃?

    class object public void check std cout lt lt I am doing ok lt
  • 无法为 XNA 4.0 游戏选择目标框架

    我有一个 XNA 4 0 项目 希望使用 Net 4 0 完整配置文件进行编译 但默认情况下它设置为客户端配置文件 这目标框架应用程序选项卡中的组合框呈灰色 我已经卸载并重新安装了 Net 3 5 Net 4 0 和 Xna 4 0 可能是
  • 为什么新的 C 书籍不遵循 C99 标准?

    我见过的几乎所有 相对 关于 C 编程的新书似乎都不遵守 C99 标准 或者在额外的章节中对其进行了介绍 来自 Java 背景的 C99 标准使我的迁移 嗯 仍在迁移 变得更加容易 这可能也适用于其他语言 大多数 C 开发人员似乎还没有接触
  • 你可以像 String.fromCharCode 一样使用 String.fromCodePoint 吗

    我仍在学习 JavaScript 并练习从键盘获取输入 我刚刚了解到String fromCodePoint 对我来说 似乎捡起了所有String fromCharCode does Is String fromCodePoint被浏览器和
  • 如何拍照并保存在“ImageView”中?

    我需要采取picture与camera 保存picture 显示ImageView当我点击Imageview显示全屏 mode 将来需要发送picture to the internet 这就是我所做的 public void captur
  • 多重赋值语义

    在 Python 中可以这样做 a b 1 2 a b 1 2 a b 1 2 我使用检查生成的字节码dis并且它们是相同的 那么为什么要允许这样做呢 我是否需要其中之一而不是其他 需要在赋值左侧包含更多结构的一种情况是 当您要求 Pyth
  • 冻结 ASP.NET 网格视图列

    如何冻结 asp net 网格视图中最左边的初始 2 3 列 这样 在水平滚动时 将始终显示冻结的初始 2 3 列 有答案吗 是的 似乎可以使用一些 css 魔法 将固定列和可滚动列放在不同的 z 索引上 以将固定列保持在顶部 这伴随着一个
  • 在Shiny应用程序中删除DT数据表的行

    我有一个闪亮的应用程序 可以在 DT 表中显示数据帧数据 在应用程序中 我有一个按钮 单击该按钮将删除所选行 当我第一次选择行并单击删除按钮时 它会起作用 但再次单击后 错误的行将被删除 并且任何以前删除的行都会重新出现 我假设这是因为当我
  • 强制特定数据类型作为函数的参数

    我只是想知道是否有一种方法可以强制函数只接受某些数据类型 而不必在函数内检查它 或者 这是否不可能 因为 R 的类型检查是在运行时完成的 与 Java 等编程语言相反 类型检查是在编译期间完成的 例如 在 Java 中 您必须指定数据类型
  • 在 python (django) 中使用带参数的游标/查询中的“like”

    我知道这可能很愚蠢 但我决定无论如何都要问 我一直在尝试查询类似的内容 cursor execute select col1 col2 from my tablem where afield like s and secondfield s