python - 问 : Simple-Salesforce make a dynamic soql query

标签 python salesforce simple-salesforce

试图找出一种方法,让简单的销售人员只为我提供列表中的所有字段名称。我想创建 soql 查询,其功能与 sql 中的 Select * 几乎相同。

对于对象中的 obj:

fields = [x["name"] for x in sf[obj].describe()["fields"]]

谢谢

最佳答案

对象中的字段名称列表可以通过以下方式实现:

def getObjectFields(obj):
    fields = getattr(sf,obj).describe()['fields']
    flist = [i['name'] for i in fields]
    return flist

getObjectFields('Contact')

获得 SELECT * 效果的查询将如下所示:

sf.query_all('SELECT {} FROM Contact LIMIT 10'.format(','.join(getObjectFields('Contact'))))

相关说明:

如果有帮助,可以按如下方式实现标签/名称对的字典:

def getObjectFieldsDict(obj):
    fields = getattr(sf,obj).describe()['fields']
    fdict = {}
    for i in fields:
        fdict[i['label']] = i['name']
    return fdict

getObjectFieldsDict('Contact')

我发现这对于找出带有不遵循标准格式的标签的字段名称很有用(即“我最喜欢的网站”字段标签对应“Favorite_Website__c”字段名称)

关于python - 问 : Simple-Salesforce make a dynamic soql query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46649495/

相关文章:

c# - 在 Salesforce 中映射线索的自定义字段

python - 将 session ID 从简单的 salesforce 传递到请求

python - 如何使用 python simple-salesforce 测试插入/更新是否成功

python-3.x - 简单的 salesforce 批量更新插入未按预期工作

python - 比较 csv 文件中的两行 - Python

python - 如何从 for 循环中获取多个值?

python - tensorflow -运行时错误 : Cannot get value inside Tensorflow graph function

html - 渲染为 pdf 时出现 Visualforce 样式问题

Python 函数自省(introspection) : what members of a class passed as argument are mentioned inside it?

authentication - Salesforce 作为 OpenId 身份验证提供商