Python 如何在列名中使用空格进行SOQL查询?

Python 如何在列名中使用空格进行SOQL查询?,python,salesforce,soql,Python,Salesforce,Soql,我正在尝试使用simple\u salesforcepython包进行SOQL查询。我在查询列名中有空格的列时遇到了一些问题: sf.query_all("SELECT Id, Name, Email FROM Lead WHERE `Lead Source`=Calculator (Website)") 我尝试使用传统的SQL语法来处理讨厌的列名(我也尝试了[]方括号),但我一直得到SalesforceMalformedRequest 我想得到一个python dict,其中包含任何潜在客户

我正在尝试使用
simple\u salesforce
python包进行SOQL查询。我在查询列名中有空格的列时遇到了一些问题:

sf.query_all("SELECT Id, Name, Email FROM Lead WHERE `Lead Source`=Calculator (Website)")
我尝试使用传统的SQL语法来处理讨厌的列名(我也尝试了
[]
方括号),但我一直得到
SalesforceMalformedRequest

我想得到一个python dict,其中包含任何潜在客户的id、名称和电子邮件,这些潜在客户的潜在客户源为“Calculator(Website)”


我没有更改列名的权限,因此有关如何查询或如何以其他方式访问列名的任何帮助都将非常有用

正如上面评论中提到的@user2864740,Salesforce不允许在字段api名称中使用空格。在这种情况下,假设您试图查询带有英文标签“Lead Source”的标准字段,则api名称为
LeadSource

您希望您的查询是:

sf.query_all("SELECT Id, Name, Email FROM Lead WHERE LeadSource = 'Calculator (Website)'")

在里面不知道这对SOQL是否有帮助,尤其是MySQL使用了“引用标识符”。错误是否在
计算器(网站)
上?该文本/字符数据可能应该被引用,例如MySQL标识符-
“选择Id、名称、来自Lead的电子邮件,其中`Lead Source`=“Calculator(网站)”
,或者ANSI标识符-
“选择Id、名称、来自Lead的电子邮件,其中`Lead Source\=“Calculator(网站)”
(转义引号仅仅是出现在Python字符串文字中的一个工件;
“…”
形式在这里很有用)虽然[sparse]中提到了字段表达式,但没有提到带引号的标识符:。也许列标识符首先被规范化?例如,
Lead\u Source
?(似乎SF喜欢弄乱字段名…)tldr;经过一些研究-实际的列名(API名称,通常包含下划线)和漂亮的标签/名称(字段标签,包含空格)之间存在差异。