【发布时间】:2021-05-16 10:16:48
【问题描述】:
我真的很喜欢 PyCharm 的 SQL 检查,它们非常有用并且提供了宝贵的见解。但是它们不适用于psycopg2 SQL 组合功能。我正在构建一个简单的查询来执行多行插入:
from psycopg2.sql import SQL, Placeholder, Literal
def build_materials_insert(model_id, materials):
data = SQL(", ").join(
SQL("({model_id}, {obj_name}, {material})").format(
model_id=Literal(model_id),
obj_name=Literal(mat["object"]),
material=Literal(mat["material"])
) for mat in materials
)
return SQL("INSERT INTO materials(model_id, object, material) VALUES {values}").format(values=data)
检查后,PyCharm 显示警告'(' expected, got '{'。从 SQL 的角度来看它是有效的,但在这里没有用,因为花括号中的文本只是一个格式占位符。
使用 Alt-Enter 显示建议仅提供“更改 SQL 方言”功能。
我通常可以禁用 SQL 语法检查,但我不想这样做,因为在其他地方它非常有用。我试图找到合适的禁用注释命令,但没有找到内置 SQL 的列表。
是否有某种方法可以禁用特定语句的 SQL 验证,因为我真的很想将我的代码保留为所有绿色检查结果?
【问题讨论】: