Django的ORM的Salesforce后端
django-salesforce的Python项目详细描述
快速启动
安装django salesforce: pip安装django salesforce
将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无关。
- user 是用于连接的用户名。
- password 是用户密码和安全令牌的串联。 如果本地IP地址 安全控制/网络访问中的白名单。
- 主机是访问沙箱的https://test.salesforce.com,或者 https://login.salesforce.com 访问生产。
将salesforce.router.modelrouter添加到数据库路由器中 设置:
DATABASE_ROUTERS = [ "salesforce.router.ModelRouter" ]
(这对于在 从SalesforceModel和"默认"数据库派生的模型,用于普通模型 使用迁移创建的表,尤其是"django.contrib"。)
将 Salesforce 应用程序添加到您的 已安装的应用程序设置中:
INSTALLED_APPS = { "django.contrib.auth", "django.contrib.contenttypes", ... ... "salesforce" }
(这对于在命令中运行salesforce扩展是必要的 开发中的inspectdb 不重要。)
定义扩展salesforce.models.model(别名salesforcemodel)或导出 通过python manage.py inspectdb完成sf模式 并将其简化为您需要的内容。
(可选) 要覆盖15秒的默认超时, 在设置文件中定义salesforce_query_timeout。 它可以是一个数字,也可以是一个值较短的连接元组。 超时和更长的值,包括运行查询的时间, 但不需要超过30秒:
SALESFORCE_QUERY_TIMEOUT = (4, 15) # default (connect timeout, data timeout)
(可选) 如果要为Salesforce DB使用其他名称 连接,在设置文件中定义Salesforce数据库别名
SALESFORCE_DB_ALIAS = 'salesforce' # default
你们都完了!只需像正常的django模型一样使用您的模型。
(可选) 为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)
这是在 手工编写所有管理类。(生产中大桌子的外键 需要自定义管理员,例如使用搜索小部件。)
(可选) 默认情况下,django orm在启动时连接到所有dbs。耽搁 在实际需要之前,定义sfdc连接 在你的设置文件中。使用此设置时请小心;因为在 应用程序启动时,可能会重复发送错误的密码, 需要重置帐户才能修复。
< > >
如果在连接时收到错误消息,请检查收到的错误。 {…} 之间的错误消息中的所有内容都是从 Salesforce错误消息以帮助调试。
另请参见: 有关设置Salesforce connected apps的信息
有关权限的说明 :项目的所有内容都可以在 限制Salesforce用户帐户,如果它可以访问 模型。内省(inspectdb)不需要任何权限。运行 Django_Salesforce的测试需要许多权限或管理员 解释沙盒。
有关权限的说明 :仅运行时需要管理员权限 完整的单元测试套件;否则,只要帐户有权 读取或修改所选对象,一切都应正常工作。