Django的ORM的Salesforce后端

django-salesforce的Python项目详细描述


快速启动

  1. 安装django salesforce: pip安装django salesforce

  2. 将Salesforce连接添加到数据库设置:

    'salesforce': {
        'ENGINE': 'salesforce.backend',
        'CONSUMER_KEY': '',
        'CONSUMER_SECRET': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': 'https://test.salesforce.com',
    }
    

    在上面的示例中,所有字段都应填充如下:

    • consumer_key consumer_secret 值用于应用程序 连接到您的Salesforce帐户。如何获取这些信息的说明 Salesforce Rest API文档。可以在上创建密钥和机密 Web::UL>
    • Salesforce Web>;设置>;应用程序设置>;创建>;应用程序>;连接的应用程序>; 新的
    • 点击API中的"启用OAuth设置",然后选择"访问和管理" 您的数据(API)"来自可用的OAuth作用域。
    • 其他红色标记的字段必须填写,但与django无关。
  3. user 是用于连接的用户名。
  4. password 是用户密码和安全令牌的串联。 如果本地IP地址 安全控制/网络访问中的白名单。
  5. 主机是访问沙箱的https://test.salesforce.com,或者 https://login.salesforce.com 访问生产。
  6. 如果在连接时收到错误消息,请检查收到的错误。 {…} 之间的错误消息中的所有内容都是从 Salesforce错误消息以帮助调试。

    另请参见: 有关设置Salesforce connected apps的信息

    有关权限的说明 :项目的所有内容都可以在 限制Salesforce用户帐户,如果它可以访问 模型。内省(inspectdb)不需要任何权限。运行 Django_Salesforce的测试需要许多权限或管理员 解释沙盒。

    有关权限的说明 :仅运行时需要管理员权限 完整的单元测试套件;否则,只要帐户有权 读取或修改所选对象,一切都应正常工作。

  7. 将salesforce.router.modelrouter添加到数据库路由器中 设置:

    DATABASE_ROUTERS = [
        "salesforce.router.ModelRouter"
    ]
    

    (这对于在 从SalesforceModel和"默认"数据库派生的模型,用于普通模型 使用迁移创建的表,尤其是"django.contrib"。)

  8. Salesforce 应用程序添加到您的 已安装的应用程序设置中:

    INSTALLED_APPS = {
        "django.contrib.auth",
        "django.contrib.contenttypes",
        ...
        ...
        "salesforce"
    }
    

    (这对于在命令中运行salesforce扩展是必要的 开发中的inspectdb 不重要。)

  9. 定义扩展salesforce.models.model(别名salesforcemodel)或导出 通过python manage.py inspectdb完成sf模式 并将其简化为您需要的内容。

  10. (可选) 要覆盖15秒的默认超时, 在设置文件中定义salesforce_query_timeout。 它可以是一个数字,也可以是一个值较短的连接元组。 超时和更长的值,包括运行查询的时间, 但不需要超过30秒:

    SALESFORCE_QUERY_TIMEOUT = (4, 15)  # default (connect timeout, data timeout)
    
  11. (可选) 如果要为Salesforce DB使用其他名称 连接,在设置文件中定义Salesforce数据库别名

    SALESFORCE_DB_ALIAS = 'salesforce'  # default
    
  12. 你们都完了!只需像正常的django模型一样使用您的模型。

  13. (可选) 为Salesforce模型创建一个普通的django admin.py 模块:

    from salesforce.testrunner.example.universal_admin import register_omitted_classes
    # some admin classes that you wrote manually yet
    # ...
    # end of file
    register_omitted_classes(your_application.models)
    

    这是在 手工编写所有管理类。(生产中大桌子的外键 需要自定义管理员,例如使用搜索小部件。)

  14. (可选) 默认情况下,django orm在启动时连接到所有dbs。耽搁 在实际需要之前,定义sfdc连接 在你的设置文件中。使用此设置时请小心;因为在 应用程序启动时,可能会重复发送错误的密码, 需要重置帐户才能修复。

  15. < > >

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
主类中的java访问方法   Javalog4j不读取它的log4j。属性文件   雅加达ee通过Java(web应用程序)使用iText/任何其他使用现成数据的库生成PDF报告   lua使用java阅读TeamSpeak 3消息   将日期转换为BST java   java Spring引用ProxyFactoryBean中带有ref的protoyype bean   如何使java只打印一条带有if语句的消息   java如何通过JavaMail从雅虎服务器发送电子邮件?   使用百分比和BigDecimal的java测试   java如何对字符串数组排序   java验证器+MVC+REST::更新问题   java如何阻止eclipse如此频繁地挂起?   java从AsyncTask(片段内)访问TextView   IDEJava:制作可调整大小和拖动的组件