【问题标题】:Connecting and importing models from multiple database connections Django从多个数据库连接 Django 连接和导入模型
【发布时间】:2014-07-18 09:53:38
【问题描述】:

在一个 django 应用程序中,我有两个通过 settings.py 连接的 postgresql 数据库:一个是默认数据库,另一个是 AppDb。 AppDb 放置在远程机器上。

我想使用“using()”从 AppDb 的“课程”模型中查询,而“课程”模型在默认数据库中不可用。

所以我的查询是这样的:

courseInfo = Courses.objects.using('AppDb').filter(cuser_id = 12)

但我收到“课程”的名称错误

我能否在不使用路由器的情况下为此类查询提供解决方案

【问题讨论】:

  • 确保您首先导入了模型类:from .models import Courses.
  • 有没有办法从远程机器上的应用中导入模型?
  • 您要解决的实际问题是什么?你的问题有点奇怪。
  • 我正在尝试连接到不是应用程序默认数据库的远程数据库并使用它进行查询。但是模型没有得到认可。我不知道如何导入它们

标签: django postgresql multiple-databases django-queryset nameerror


【解决方案1】:

如果您有一个现有的数据库,您仍然需要为该数据库创建一个应用程序和模型才能使用 ORM。

为了帮助您创建模型类,您可以使用inspectdb management command,它将尝试从现有数据库中猜测模型并为您创建models.py。它并不完美,但它会为您节省一些时间。

您仍然必须确保模型具有主键并以正确的顺序写入(以便外键正常工作)。

【讨论】:

  • 感谢您添加答案。我尝试了其中的一部分,发现我将使用 cursor.connection 方法。因为如果没有存储数据,创建模型和应用程序对我来说没有意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
相关资源
最近更新 更多