通过 Salesforce 中的 SOQL 查询获取选项列表值

Fetch picklist values through SOQL query in Salesforce

我正在使用 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 中做同样的事情。有人可以帮忙吗?

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

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

picklist 应该是 OrderedDicts.

的列表

选项列表值也可以直接在字段的 choices 属性中获取,作为

导出模型的一部分
manage.py inspectdb --database=salesforce table_names...

django-salesforce.