相关疑难解决方法(0)

如何在不同的DB中使用带有外键的django模型?

我有两个不同数据库的2个模型:
数据库是手动创建的,但它不会改变任何东西.

class LinkModel(models.Model): # in 'urls' database
    id = models.AutoField(primary_key=True)
    host_id = models.IntegerField()
    path = models.CharField(max_length=255)

    class Meta:
        db_table = 'links'
        app_label = 'testapp'

    def __unicode__(self):
        return self.path

class NewsModel(models.Model):  # in default database
    id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=50)
    link = models.ForeignKey(LinkModel)

    class Meta:
        db_table = 'news'
        app_label = 'test'

    def __unicode__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

在以下代码之后出现错误

newsItem, created = NewsModel.objects.get_or_create( title="test" )
link = LinkModel.objects.using('urls').get( id=1 )
newsItem.link = link  # error!

 Cannot assign "<LinkModel: />": instance is on …
Run Code Online (Sandbox Code Playgroud)

mysql django foreign-keys django-models

18
推荐指数
2
解决办法
1万
查看次数

标签 统计

django ×1

django-models ×1

foreign-keys ×1

mysql ×1