Django inspectdb on在表的外键上失败,该外键引用当前数据库之外的表(MySQL 5.0)

时间:2013-06-05 13:30:35

标签: python django django-orm

我用Python 2.6或2.7测试了Django 1.5.1。我的数据库在MySQL 5.0上。我已经创建了设置,但现在我无法在数据库上运行“inspectdb”。我得到了

  

DatabaseError:(1146,“表'db1.tableName'不存在”)

这发生在具有引用另一个DB中的表的外键的表上。所以它不应该是db1,因为tableName存在于db2中。我在5年前看到了对这个bug的引用:

https://code.djangoproject.com/ticket/7556

但补丁现在已经过时了,我认为它必须在以后的版本中完成。我的设置有问题吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,Django目前仍然没有does not support this feature

  

跨数据库关系:

     

Django目前不提供对外键的支持   跨多个数据库的多对多关系。如果你有   使用路由器将模型分区到不同的数据库,任何外来的   这些模型定义的密钥和多对多关系必须是   单个数据库的内部。

但是,可以在此修补程序here

上找到修复程序

基本上,更新路由器设置self.rel.to