Python Simple Salesforce选择所有字段
我正在使用Python Simple Salesforce通过SOQL查询数据。我知道SOQL语法不支持“SELECT*”,所以我想创建一个Python脚本来收集要插入SELECT语句的所有字段的字符串列表。下面是我如何描述Account对象的:Python Simple Salesforce选择所有字段,python,salesforce,soql,simple-salesforce,Python,Salesforce,Soql,Simple Salesforce,我正在使用Python Simple Salesforce通过SOQL查询数据。我知道SOQL语法不支持“SELECT*”,所以我想创建一个Python脚本来收集要插入SELECT语句的所有字段的字符串列表。下面是我如何描述Account对象的: from simple_salesforce import Salesforce from simple_salesforce import SFType #(credentials hidden) sf = Salesforce(username=
from simple_salesforce import Salesforce
from simple_salesforce import SFType
#(credentials hidden)
sf = Salesforce(username=username, password=password,
security_token=security_token, sandbox=True,
client_id='mwheeler App')
desc = sf.Account.describe()
print(desc)
我应该如何从如下所示的有序字典中将字段名提取到字符串列表中
说明:
OrderedDict([('actionOverrides',[]),('activateable',False),('childRelationships',[cascadeDelete',False],('childSObject','Account'),('DeprecatedHidden',False),('field','ParentId'),('junctionIdListNames',[]),('junctionReferenceTo,[]),('relationshipName','ChildAccounts'),('restrictedDelete False)]),OrderedDict([('cascadeDelete',True),('childSObject','AccountCleanInfo'),('deprecatedAndHidden',False),('field','AccountId')
我将使用字符串列表选择所有字段:
query = sf.query_all("SELECT string_list FROM Account")
可以在此处看到此python库描述调用: 如果我是你,我会追查他们最初是如何得到这本订购词典的 您可以从这一行中看到: 他们从这里使用基本URL: 因此,您可以在工作台中进行相同的调用: 通过简单的谷歌搜索,您可以找到一些关于如何遍历字典的有用示例,以下是一些示例: 只要你知道你在寻找什么,浏览字典应该是相当容易的 警告一句,根据我的经验,查询所有字段对于企业框架来说是非常好的,但是有些对象并不是设计为在一个SOQL查询中包含所有字段的 有关SOQL限制,请参阅本页: 希望这有帮助 我应该如何从如下所示的有序字典中将字段名提取到字符串列表中 我已经扩展了您的代码以包含解决方案
from simple_salesforce import Salesforce
#(credentials hidden)
sf = Salesforce(username=username, password=password,
security_token=security_token, sandbox=True,
client_id='mwheeler App')
desc = sf.Account.describe()
# Below is what you need
field_names = [field['name'] for field in desc['fields']]
soql = "SELECT {} FROM Account".format(','.join(field_names))
results = sf.query_all(soql)
# Alternative method to retrieve results
# I don't have any recommendation which to use
results = sf.bulk.Account.query(soql)
我意识到这个问题是不久前发布的,只是希望它有一个完整的解决方案