【问题标题】:How to always use a specific DB connection for certain django model?如何始终为某些 django 模型使用特定的数据库连接?
【发布时间】:2016-09-22 08:08:29
【问题描述】:

我将在 django 应用程序中添加一个程序,我需要在其中存储数据,但只需要几个小时,我也不想在我的数据库模式中添加另一个表(这有点大),我是考虑使用 redis 完成任务,最终我想要实现的是拥有一个 Transfer 模型,并且我希望该模型始终使用另一个数据库进行其 CRUD 操作。

例子:

Transfer.objects.all()  # Always be the same as Transfer.objects.using('redis').all()
OtherModel.objects.all()  # Always use default DB

# Same for save
transfer_instance.save()  # Always translate to transfer_instance.save(using='redis')
other_instance.save()  # Work as usuall using default DB

我怎样才能做到这一点?只要有效,我不介意使用晦涩的诡计。

谢谢!

【问题讨论】:

    标签: django django-models django-orm django-database multi-database


    【解决方案1】:

    您将需要使用数据库路由器来实现您所需要的。

    这里是Using Database Routers的官方文档

    【讨论】:

      猜你喜欢
      • 2022-07-31
      • 1970-01-01
      • 2015-12-26
      • 2011-03-31
      • 2021-10-06
      • 2020-09-18
      • 2012-02-02
      • 2021-11-07
      • 1970-01-01
      相关资源
      最近更新 更多