【问题标题】:Django using multiple databasesDjango使用多个数据库
【发布时间】:2011-12-29 02:22:48
【问题描述】:

我有一个名为FieldMap 的模型,它在我的整个项目中使用。我最近决定将此模型的物理数据库存在于另一台机器上(default 除外)。

所以我现在在我的设置中设置了两个数据库:defaultdev

我可以像这样使用这两个数据库:

FieldMap.objects.using('dev/default').all()

因为我的项目已经写好了,我不想每次从这个模型读取/写入时都必须通过代码和进行更改。

毕竟,我想知道是否有办法告诉模型默认从哪个数据库读取/写入?

【问题讨论】:

  • 您使用第二个数据库的动机是什么?
  • 我们有一个开发和实时服务器。 FieldMap 数据需要在两者上保持相同
  • 也许您应该问:使我的开发数据库与生产数据库保持同步的最佳方法是什么?
  • 我不想对实时服务器施加更多压力,并认为保持它们不断同步是没有意义的,因为这将是多余的。在对此进行了一些研究后,我开始好奇这是否可能。

标签: python django django-orm


【解决方案1】:

考虑编写一个自定义数据库路由器,以动态决定要使用的数据库。

https://docs.djangoproject.com/en/1.3/topics/db/multi-db/#database-routers

【讨论】:

    猜你喜欢
    • 2019-10-11
    • 2020-05-08
    • 2019-12-31
    • 2017-02-02
    • 2013-04-26
    • 2011-11-06
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多