我有一个simple_salesforce
包中的函数,
sf = Salesforce(username, pass, key)
要更新salesforce数据库中的对象,请通过以下方式调用sf:
sf.bulk.object.update(data)
例如,account
是salesforce中的原生客户帐户对象,因此您需要提供data
来更新帐户,如下所示:
sf.bulk.account.update(data)
我想知道在python中是否有办法将链的特定部分设置为参数。
我想做什么:
def update_sf(object, data):
sf.bulk.object.update(data)
我可以这样打电话:
update_sf('account', data)
我能想到的另一种方法是创建一个包含实例中对象的数十个值的字典
{'account':sf.bulk.account.update(),
'contact':sf.bulk.contact.update()}
有办法做到这一点吗?
答案 0 :(得分:2)
您可以使用内置函数getattr
来获取所需的实体:
>>> getattr(sf.bulk, object).update(data)
为了能够动态选择操作(插入,更新,删除),您可以链接getattr
>>> getattr(getattr(sf.bulk, object),operation)