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

如何在sqlalchemy中创建基于文字的查询?

暨弘懿
2023-03-14
问题内容

我创建了一个用于创建表达式的函数

def test(operator1, operation, operator2):
    return literal_column(operator1).op(operation)(operator2)

现在,当我用

test(1, '=', 1)

然后就可以了

但是当我通过时

test('abc', '=', 'abc')

然后,它给出错误,即abc不是列。

我试图将其转换

def test(operator1, operation, operator2):
    return literal_column(operator1, String).op(operation)(operator2)

但这是行不通的。

如果我打电话给我

test("'abc'", '=', 'abc')

有没有办法获取operator1的类型,并在此基础上创建能够映射到相同内容类型的literal_colum?


问题答案:

任何文字值都可以转换为表达式构造:

from sqlalchemy import literal_column, bindparam


# ? = ?, 1 will be bound
bindparam(1) == bindparam(1)

# " 1 = 1", literals rendered inline (no quoting is applied !!)
literal_column(str(1)) == literal_column(str(1))


 类似资料:
  • 问题内容: 我有一个查询,看起来像这样: 这是一个非常基本的查询。除了提取Item的值之外,我还想将其他值添加到混合中,然后将其返回给我。在原始SQL中,我会这样做: 如何通过sqlalchemy手动添加该值? 问题答案: 您需要使用,看起来有点像这样: 注意,该参数无需任何转换即可插入查询;如果您从应用程序外部接受text参数的值,则可能使您暴露于SQL Injection漏洞。如果这是您需要的

  • 我想做的是在一个对象中保留一个用户数据库,这样我就可以给每个用户赋值,但是我找不到一种方法来实现。 我试过只执行和,但这只写入未定义的内容。如有任何建议将不胜感激。

  • 问题内容: 我正在开发一个项目,该项目正在创建一个类来运行http客户端请求(我的类充当客户端)。它接受一个url和一个请求方法(GET,POST,PUT等),我希望能够解析该URL并根据它是https还是http打开HttpsURLConnection或HttpURLConnection(假定给定的url始终是正确)。 如果我执行以下操作: 然后,这将自动创建一个可以同时接受http和https

  • 我有一个String,它是页面的路径,例如。我正在收集此页面的XML并将其保存到DAM,但我想将其保存在下的类似树结构中。 我尝试了以下代码 但它给出了以下错误 找不到{http://www.jcp.org/jcr/1.0}内容的匹配子节点定义 因为存储库中没有这样的路径。有没有一种方法可以让我即时创建一个目录。因为要保存这个文件,我需要在下创建整个树,然后保存在该目录中。 请建议。

  • 路径文字是指沿着开放或封闭的路径排列的文字。当您水平输入文本时,字符的排列会与基线平行。当您垂直输入文本时,字符的排列会与基线垂直。无论是哪种情况,文本都会沿路径点添加到路径上的方向来排列。 在路径上输入文本 执行下列操作之一: 要沿路径创建横排文本,请选择文字工具 或路径文字工具 。 要沿路径创建直排文本,请选择直排文字工具 或直排路径文字工具 。 (可选)在“控制”面板、“字符”面板或“段落”

  • 我定义了这样一个接口: 我这样定义一个变量: 然而,当我尝试设置modal的属性时,它会给我一个消息,说 使用接口来描述模态对象可以吗?如果可以,我应该如何创建它?