Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django模型,外键指向salesforce模型_Django_Salesforce_Django Salesforce - Fatal编程技术网

Django模型,外键指向salesforce模型

Django模型,外键指向salesforce模型,django,salesforce,django-salesforce,Django,Salesforce,Django Salesforce,我正在使用django salesforce,我想在django中创建一个模型,其中有一个ForeignKey字段指向SFDC模型(托管在force.com上) 我在force.com上创建了一个自定义模型,我们称之为SFModel,通过子类化salesforce.models.model,我可以从django(CRUD)成功地使用它 我还创建了一个django.db.models.Model,我们称之为DJModel,它有一个唯一的字段ForeignKey(SFModel)。此模型已在管理面板

我正在使用
django salesforce
,我想在django中创建一个模型,其中有一个
ForeignKey
字段指向SFDC模型(托管在force.com上)

我在force.com上创建了一个自定义模型,我们称之为
SFModel
,通过子类化
salesforce.models.model
,我可以从django(CRUD)成功地使用它

我还创建了一个
django.db.models.Model
,我们称之为
DJModel
,它有一个唯一的字段
ForeignKey(SFModel)
。此模型已在管理面板上注册

所有模型都经过验证,我可以转到我的管理面板,尝试创建
DJModel
的新实例。但是,当我尝试在管理中显示create_表单时,出现以下错误:

hasattr(): attribute name must be string
调试流显示

因此,我尝试在我的
settings.py
数据库中为SF条目设置任意别名。有一个专用变量:

SALESFORCE_DB_ALIAS = 'youralias'
但我还是有同样的问题


有什么建议吗?

Django不支持,对Salesforce的外部引用当前应保存为CharField,对其他数据库的引用应保存为IntegerField

Django文档关于:

Django目前不为跨多个数据库的外键或多对多关系提供任何支持。如果使用路由器将模型划分到不同的数据库,那么由这些模型定义的任何外键和多对多关系都必须位于单个数据库的内部

我尝试将sqlite作为“默认”数据库进行交叉引用。可以使用从sqlite到Salesforce的跨数据库引用创建模型DJModel的对象。它的行为类似于正常的Django交叉数据库引用,没有模糊的错误,并且只能使用点引用


编辑:经过多年简化。

它类似于Django中对多个数据库的支持,具有标准后端,如Postgres或MySQL。您不能创建外键,例如从Postgres到MySQL。即使是同一类型的不同数据库之间的foreignkey也无法创建。我推荐类似的。如果您找到一个在两个标准数据库之间工作的解决方案,我可以帮助您找到一个在标准数据库和Salesforce之间工作的解决方案。我建议关闭此问题,因为它是Django不支持的功能,在当前版本或当时使用的版本(目前已过时)上都不能复制。