在Django中,如何在不同的mysql数据库中实现表之间的外键关系

在Django中,如何在不同的mysql数据库中实现表之间的外键关系,django,django-models,django-admin,foreign-key-relationship,Django,Django Models,Django Admin,Foreign Key Relationship,在MySQL中,我们可以在不同数据库中的表之间建立外键关系。我发现很难在各自的Django模型上转换这种关系 我在中读到不支持跨db关系,但我们是否可以重写某些属性/函数,以便将表标识为db.table而不是table 例如,DB1中的表table1在DB2中的某些表2中被引用。Django尝试在DB2中查找table1失败,并引发DatabaseError 除了save方法之外,几乎所有的东西都能工作。朝正确的方向推动会有很大帮助 您需要 查看您给出的错误,您应该执行以下操作: qs = ta

在MySQL中,我们可以在不同数据库中的表之间建立外键关系。我发现很难在各自的Django模型上转换这种关系

我在中读到不支持跨db关系,但我们是否可以重写某些属性/函数,以便将表标识为db.table而不是table

例如,DB1中的表table1在DB2中的某些表2中被引用。Django尝试在DB2中查找table1失败,并引发DatabaseError

除了save方法之外,几乎所有的东西都能工作。朝正确的方向推动会有很大帮助

您需要

查看您给出的错误,您应该执行以下操作:

qs = table1.objects.using('DB1 ').filter(pk=id)
# just an example

在本例中,我们显式地告诉Django在DB1中定位table1。

似乎我们无法使不同mysql数据库中的两个表之间的关系正常工作。这是故意的。票上有一些信息。我们需要编写代码来解决这个问题。

Aamir,这是我试图通过管理“添加”功能保存对象时的输出。我无法控制这里的代码。如果有帮助,它在django.db.models.related的ForeignKey类的validate函数上失败。
qs = table1.objects.using('DB1 ').filter(pk=id)
# just an example