【发布时间】:2014-06-09 17:42:52
【问题描述】:
这是我的第一个数据库 DB1 模型:
from django.db import models
class Company(models.Model):
name = models.CharField(max_length=100, null=True)
address = models.TextField(max_length=200, null=True)
website = models.CharField(max_length=200, null=True)
conatct_no = models.CharField(max_length=20, null=True)
email = models.EmailField(max_length=20, null=True)
logo = models.FileField(upload_to='logo/', blank=True, null=True)
created = models.DateTimeField('company created', auto_now_add=True)
updated = models.DateTimeField('company updated', auto_now=True, null=True)
def __unicode__(self): # Python 3: def __str__(self):
return self.name
第二个数据库Db2的模型:
from django.db import models
from leavebuddymaster.models import Company
class Department(models.Model):
company = models.ForeignKey(Company)
department_name = models.CharField(max_length=50, null=True)
created = models.DateTimeField('department created', auto_now_add=True)
updated = models.DateTimeField('department updated', auto_now=True, null=True)
def __unicode__(self): # Python 3: def __str__(self):
return self.department_name
现在当我打开部门表时,它给了我一个错误:
ProgrammingError at /admin/leavebuddyapp/department/
(1146, "Table 'leavebuddy_master.leavebuddyapp_department' doesn't exist")
我已经为这两个数据库正确地完成了 settings.py 中的所有设置。你能指导我正确的方向吗?提前谢谢。
【问题讨论】:
-
我还没有玩过多个数据库和 Django,但是您是否尝试过使用 souths 'schemamigration' 来查看它是否为您的模型创建了表?见south.readthedocs.org/en/latest/tutorial/part1.html
-
是的,它确实在数据库中分别创建了表。但我猜django目前不支持跨数据库的外键。
标签: django foreign-keys cross-database