如何始终为某些 Django 模型使用特定的数据库连接?
How to always use a specific DB connection for certain django model?
我将向 Django 应用程序添加一个过程,我需要在其中存储数据,但只需要几个小时,而且我不想向我的数据库模式添加另一个 table(这有点像大),我正在考虑使用 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 应用程序添加一个过程,我需要在其中存储数据,但只需要几个小时,而且我不想向我的数据库模式添加另一个 table(这有点像大),我正在考虑使用 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
我怎样才能做到这一点?只要有效,我不介意使用晦涩的技巧。
谢谢!
您将需要使用数据库路由器来实现您的需要。
的官方文档