【问题标题】:Fetch picklist values through SOQL query in Salesforce通过 Salesforce 中的 SOQL 查询获取选项列表值
【发布时间】:2017-10-04 13:44:13
【问题描述】:

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

【问题讨论】:

    标签: python django salesforce soql simple-salesforce


    【解决方案1】:

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

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

    picklist 应该是OrderedDicts 的列表。

    【讨论】:

    • @schwobaseggl 你知道如何通过这个 API 更新/插入选项列表值吗?
    • @MattW。你找到答案了吗?我正试图做到这一点,但似乎不可能
    • @KevinMüller 很遗憾我没有找到答案。
    • @MattW。我设法至少创建了一个新的选项列表。解释here也许你可以找到一种方法来使用这个编辑现有列表
    • @KevinMüller 无赖!哦,好的,感谢您对选择列表的帮助
    【解决方案2】:

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

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

    django-salesforce

    【讨论】:

      猜你喜欢
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      相关资源
      最近更新 更多