使用两个数据库的单个 Django 应用程序

2024-04-15

如何在 Django 中配置托管在两个不同数据库中的模型?

到目前为止,我已经在出色的 Django 环境中设置了 3 个数据库。我的一个应用程序使用Router https://docs.djangoproject.com/en/dev/topics/db/multi-db/#automatic-database-routing自动将数据发送到正确的数据库——这很容易完成,因为该应用程序只处理该一个数据库。

但是,我有另一个使用两个不同数据库的应用程序。该应用程序“控制”其中一个,但从另一个应用程序获取完全通过另一个应用程序更新的数据。

我尝试向模型的 Meta 类添加任意属性,以在路由器中进行匹配,但这在 Django 中是不允许的(正如我发现的)。

我可以提供哪些数据可以在路由器中匹配模型,以知道要转到哪个数据库?


如果您在定义模型类时知道要使用哪个数据库,则可以向类本身而不是其 Meta 类添加任意属性。在路由器中,您可以使用 hasattr 来查看该属性是否存在(因为内置模型不存在),或者只是尝试/例外并捕获异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用两个数据库的单个 Django 应用程序 的相关文章

随机推荐

  • SPARK SQL 中的相关子查询列不允许作为非相等谓词的一部分

    我正在尝试在 where 子句中编写一个子查询 如下所示 但我越来越 非等式谓词中不允许有相关列 SELECT holidays FROM SELECT s holidays s entity FROM transit t tt WHERE
  • Angular bootstrap ui 模式使用相同的控制器而不是新的控制器

    我正在使用 Angular Bootstrap ui 模态框 它说要为新控制器提供一个新的 modalInstance 我想使用与初始化模态框相同的控制器 我搜索但没有成功 我找到了此链接 但没有成功 如何在 Angular UI Boot
  • 使用 Linq 将列表框项值转换为 int

    我使用列表框显示数据库中表的内容 每个列表框项目都使用设置为友好名称的 Text 属性和设置为唯一 ID 列的 Value 属性进行填充 数据库结构可能类似于以下内容 CREATE TABLE GENERIC FRIENDLY NAME T
  • 独立于 Rails 在 HAML 文件中使用布局

    我的最终目标是创建几个静态 HTML 文件以交给其他人 但对于我的工作流程 我希望将 HAML 作为基本源文件 在这样做时 我希望至少在我这边能够干燥这个过程 现在我有很多页面最终将共享一个通用布局 我想知道如何合并这些布局 这是我当前的代
  • 在没有缓冲区的情况下将数据从 fstream 复制到 stringstream?

    无论如何 我可以从fstream 一个文件 到一个stringstream 内存中的流 目前 我正在使用缓冲区 但这需要双倍的内存 因为您需要将数据复制到缓冲区 然后将缓冲区复制到字符串流 直到删除缓冲区为止 数据都会在内存中复制 std
  • 使用 PHP SSH 连接到远程服务器

    我想做一个SSH使用 php 连接到远程服务器 我在 Linux CEntOS 上使用 php 5 3 到目前为止我所做的 connection ssh2 connect 192 168 1 22 22 ssh2 auth password
  • 使用 foreach 迭代对象列表

    我看到这样的说法 当在对象列表上使用 foreach 时 迭代的对象实例is not可编辑 但对象属性are可编辑 有人可以用一个简单的例子来演示上述内容吗 让我重新表述一下 因为我发现了两个版本的说法 也许这个说法更清楚 当对元素列表使用
  • .Net Core动态dbContext

    我有两个 DbContext 共享同一个存储库 以下是我现有的代码 启动 cs services AddDbContext
  • redshift 上 array_agg() 或 string_agg() 的替代方案

    我正在使用此查询来获取聚合结果 select bs string agg wbns from bag group by 1 我收到此错误 运行查询时出错 函数 string agg 字符变化 未知 不存在提示 没有函数与给定的名称和参数匹配
  • Hibernate/JPA中涉及继承时如何指定列名?

    我想我想在这里鱼和熊掌兼得 但我们会看看是否有一个合理的解决方案来满足我正在寻找的问题 我有一个 Spring Boot JPA Hibernate 应用程序 它将与 MySQL 作为其后备存储进行通信 我有几种情况 从 OOP 的角度来看
  • 带有问号的奇怪 C# 语法

    private enum E Week Mon 0 Tue 下面的代码是什么意思 E Week week null 是否等于下面的代码 的作用是什么 在这里签名 E Week week null 您的代码正在使用所谓的可空类型 http m
  • 在Python中查找模块的路径而不导入

    我见过几种通过首先导入模块来查找模块路径的方法 有没有办法在不导入模块的情况下做到这一点 Using pkgutil http docs python org library pkgutil html module gt gt gt imp
  • Java字符串内部表示

    我知道Java对String的内部表示是UTF 16 什么是java字符串表示 https stackoverflow com questions 9699071 what is the javas internal representio
  • 如何在 ng-template 中使用反应式表单

    我刚刚开始使用 Angular 4 我需要开发一个 CRUD 网格 用户可以在其中添加 编辑或删除行 在我的研究过程中 我发现这篇文章展示了如何创建网格以及操作 具有 CRUD 操作的 Angular 4 Grid http www dot
  • Angularjs $state 在新选项卡中打开链接

    我正在尝试使用 state go 函数实现 在新选项卡中打开链接 功能 如果有这样的东西那就太棒了 state go routeHere parameter1 parameter reload true newtab true or smt
  • Ansible Expect 模块无法匹配字符串/正则表达式脚本问题

    我正在尝试通过 Ansible 在 Vagrant 机器中自动安装脚本 我尝试了很多方法在网络上寻找解决方案 但文档和示例非常薄弱 我试图安装的脚本提示了我试图以编程方式回答的问题Ansible 期望模块 Ansible 任务 名称 运行
  • Apache Ignite - 执行器中的池大小

    我正在尝试使用基于集群的执行器服务 获取启用集群的执行器服务 ExecutorService exec ignite executorService 有没有办法设置执行程序服务池中的线程数 希望作业将以循环方式在集群中的每个节点中执行 Th
  • python 请求特定 SNI 证书的“证书验证失败”

    多年来我一直在几乎所有项目中使用 python requests 框架 但还没有遇到过这样的问题 这只发生在网站上www pagedna com据我所知 要重现的代码示例非常简单 import requests requests get h
  • 如何将行添加到数据框中仅修改某些列

    为了准备用于绘图的数据 我需要向数据添加一个新行 我有这个数据框 df lt data frame test id c 1 1 1 1 test nr c 1 1 1 1 region c A B C D test value c 3 1
  • 使用两个数据库的单个 Django 应用程序

    如何在 Django 中配置托管在两个不同数据库中的模型 到目前为止 我已经在出色的 Django 环境中设置了 3 个数据库 我的一个应用程序使用Router https docs djangoproject com en dev top