Simple_Salesforce Динамический массовый запрос - PullRequest
2 голосов
/ 10 мая 2019

Динамически добавить объект в задание массовых запросов для Simple_Salesforce.

Я не уверен, как передать переменную в sf.bulk."Object".query.

Я бы хотел иметь возможность передать объекту «Счёт» в определение, и он выполняет массовый запрос 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 Ответ

1 голос
/ 12 мая 2019

Вы можете напрямую позвонить sf.bulk __getattr__ метод :

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, питон вызывает для вас sf.bulk.__getattr__("Account"). (это длинная история, сокращенная; копайте больше в python и в связанный исходный код для дополнительной информации)

...