gpt4 book ai didi

Python 简单 Salesforce 选择所有字段

转载 作者:太空狗 更新时间:2023-10-30 00:34:14 25 4
gpt4 key购买 nike

我正在使用 Python Simple-Salesforce 通过 SOQL 查询数据。我知道 SOQL 语法不支持“SELECT *”,所以我想创建一个 Python 脚本来收集所有字段的字符串列表以插入到 SELECT 语句中。以下是我描述帐户对象的方式:

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', [OrderedDict([('cascadeDelete', False), ('childSObject', 'Account'), ('deprecatedAndHidden', 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")

最佳答案

How should I extract the field names into a string list from the Ordered Dictionary shown below?

我已经扩展了你的代码以包含解决方案

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)

我意识到这个问题是前一段时间发布的,只是希望它有一个完整的解决方案。

关于Python 简单 Salesforce 选择所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47536503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com