4

我正在使用 Djnago 和 Salesforce。

我通过 simple-salesforce 在他们之间建立联系

我在 Salesforce 的联系人对象上创建了一个自定义选项列表。

我不会获取我的选择列表的所有 20 个值并在 Django 中显示。

我正在寻找 SOQL 从 Salesforce 获取值。

sf = Salesforce(instance_url='https://test.salesforce.com', session_id='')
sf1 = Salesforce(connection parameters)
sf3 = sf1.query("SELECT Color__c FROM Contact")

sf3 将为我提供为各个联系人记录设置的值。

我想获取我在 Contact 对象上创建 Color__c 时输入的所有 20 个值。在 Apex 中,我们可以做到这一点,如下所示

public class PicklistUtil { 
    public static List<Schema.PicklistEntry> getContactColor() { 
        return Contact.Color__c.getDescribe().getPicklistValues(); 
   } 
}

我希望在 Django 中做同样的事情。有人可以帮忙吗?

4

2 回答 2

5

可能有更好的方法,但以下应该有效:

d = sf1.Contact.describe()
for f in d['fields']:
    if f['name'] == 'Color__c':
        break
picklist = f['picklistValues']

picklist那么应该是一个列表OrderedDicts

于 2017-10-04T14:31:39.640 回答
0

选项列表值也可以直接在choices字段的属性中获取,作为模型导出的一部分

manage.py inspectdb --database=salesforce table_names...

django-salesforce

于 2017-10-04T22:52:45.500 回答