Simple_Salesforce动态批量查询

时间:2019-05-10 17:53:31

标签: python simple-salesforce

动态地将一个对象添加到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")

1 个答案:

答案 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并进入链接的源代码以获取更多信息)