【问题标题】:Django - how to dedicate certein app to databaseDjango - 如何将某些应用程序专用于数据库
【发布时间】:2014-06-14 13:54:34
【问题描述】:

我已经阅读了 Django 文档,但恐怕我并不真正理解所写的内容,以及他们试图解释的内容。我想知道如何将一个应用程序专用于一个数据库,将第二个应用程序专用于第二个数据库等。 我得到了在 settings.py 中插入新数据库的部分,但对我来说棘手的部分是当我必须连接应用程序和数据库时>

例子:

我想从第一个应用程序向第一个数据库添加一些文本,然后我想在实际服务器上实时向第二个数据库添加另一个文本。

有什么帮助吗?

【问题讨论】:

  • 您是否有特殊原因要为每个应用程序使用单独的数据库?数据库非常强大,可以处理大量表。一般来说,您可能会发现将它们全部保存在一个数据库中会更容易,除非您有特定的理由这样做。
  • 嗯,我发现它比将所有内容存储在一个数据库中更实用。这就是原因。
  • 无论出于何种原因,我都会有一段时间需要第二个数据库。
  • 我不是来告诉你你是,但我认为你应该仔细考虑这一点。连接多个数据库有很多困难,而且很多很多 Django 用户都依赖一个数据库。同样,我不想说没有理由不这样做,但它应该是经过深思熟虑和具体的。
  • 嗯。那好吧。我会记住这一点。但是我想知道这个方法,我永远不知道什么时候需要它。

标签: mysql database django django-models sqlite


【解决方案1】:

你可以用路由来做到这一点,这里你在 Django 中有 Multi 数据库: https://docs.djangoproject.com/en/1.6/topics/db/multi-db/

这里是关于如何做到这一点的核心: https://docs.djangoproject.com/en/1.6/topics/db/multi-db/#automatic-database-routing

基本上为每个APP定义一个Router,你可以得到你正在使用的模型的名称。

【讨论】:

  • 这正是我读到的我在理解上遇到困难的地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
  • 2023-03-06
  • 2017-06-18
  • 1970-01-01
  • 2015-03-14
  • 2017-12-20
  • 1970-01-01
相关资源
最近更新 更多