我正在使用PyCharm 3.4.1,我的函数中有这段代码:
cursor.execute('SELECT distinct "name_{0}", code, sort_order FROM {1}'.format(get_language(), ProgrammeLevel._meta.db_table))
PyCharm正确识别该字符串包含SQL代码,但代码语法检查通知我由于FROM {1}
而出现语法错误,它说:<comma join expression> expected, got '{'
,这是一个有效点,但是我知道我在做什么。
对于大多数(如果不是全部)PyCharm检查,我可以在正确的位置写一个# noinspection
评论并关闭一些代码。我这样做了,关闭PyProtectedMember
检查我刚才给出的代码片段。如何关闭此行代码的语法检查?要给noinspection
评论的检查名称是什么?
答案 0 :(得分:9)
这是通过语言注入而不是检查来控制的。
要抑制错误:
Settings
- &gt; Editor
- &gt; Language Injections
并取消选中下面的框:
的 python:"SQL select/delete/insert/update/create"
强>
或者,要仅对其中包含 { } 的字符串禁用它,请将Places Pattern
的最末端从.*
更改为{ {1}}喜欢这样:
[^{}]*
对此:
+ pyStringLiteralMatches("[ \\t\\r\\n]*(((SELECT|DELETE) .*FROM)|((INSERT|REPLACE) .*INTO)|(UPDATE .* SET)|((CREATE|DROP|ALTER) +(TABLE|INDEX))).*")