【问题标题】:How to say to foreign key model to use the same database as main model uses?如何对外键模型使用与主模型相同的数据库?
【发布时间】:2018-01-17 12:25:36
【问题描述】:

我遇到了一个案例,模型和火键模型都引用一个 DB,但 DB 不是默认的。

F.e.

class Ref(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField()

class Main(class.Model):
    id = models.IntegerField()
    ref_id = models.ForeignKey(Ref)
...........

qs = models.Main.object.using('custom_db').all()

Django 尝试从 default 数据库中获取外键并预期捕获异常“表或视图不存在”

有没有一种简单的方法可以让外键模型使用与 Main 相同的数据库? 谢谢

【问题讨论】:

  • 我认为 django 不支持跨多个数据库的关系。 https://stackoverflow.com/questions/6830564/how-to-use-django-models-with-foreign-keys-in-different-dbs

标签: django django-models


【解决方案1】:

变化:

class Main(class.Model):
    ...

class Main(models.Model):
    ...

由于Main 类不是 Django 模型的子类,因此它不会在数据库中创建。因此,为什么您在数据库中创建了 Ref 表,而 table or view doesnt exist 则用于 Main 类。

【讨论】:

    猜你喜欢
    • 2012-11-04
    • 1970-01-01
    • 2017-06-10
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 2015-12-21
    相关资源
    最近更新 更多