动态地将一个对象添加到Simple_Salesforce的批量查询作业中。
我不确定如何将变量传递给sf.bulk."Object".query
。
我希望能够将定义为“ Account”的对象传递给定义,并且它会执行批量查询sf.bulk.Account.query("SOQL...")
sf = Salesforce(username=sf_username, password=sf_password, security_token=sf_token)
def SOQL(table):
qryResult = sf.bulk.`table`.query('SELECT Id FROM ' + table)
SOQL("Account")
我希望python将其翻译为sf.bulk.Account.query("SELECT Id FROM Account")
答案 0 :(得分:1)
您可以直接致电sf.bulk
的{{3}}:
sf = Salesforce(username=sf_username, password=sf_password, security_token=sf_token)
def SOQL(table):
return sf.bulk.__getattr__(table).query('SELECT Id FROM ' + table)
result = SOQL("Account")
我添加了return
,因为我认为您需要结果(我意识到这可能是一个最小的示例,但仍然如此)。
基本上,在幕后,当您调用sf.bulk.Account
时,python会为您调用sf.bulk.__getattr__("Account")
。 (长话短说; __getattr__
method并进入链接的源代码以获取更多信息)