Django postres外部数据库的方法

时间:2015-01-12 14:05:59

标签: python sql django database postgresql

我正在为投资者开发Django应用程序。目前使用settings.py中配置的数据库和3个已安装的应用程序。

我正在整合一个新功能,每个代理都会在我们的应用程序中注册他们的IP,这样我们就可以手动在他们的服务器中复制我们的postgres数据库(除了'HOST'与数据库有关外)。然后,代理将从他们的服务器向我们的服务器发送GET和POST方法。

我需要根据来的请求切换数据库。我想我可以通过SQL查询查看请求和进程来动态连接他们的postgres数据库。我的要求是,我只需要使用Django postgres方法进行处理,而无需在设置文件中配置数据库。

如果在设置中配置数据库是唯一的方法,我如何有效地切换到数据库以及在一个Django应用程序中可以连接多少个数据库?

1 个答案:

答案 0 :(得分:1)

我相信如果您想使用Django方法(而不是简单地使用RAW SQL查询并解析它们),您将不得不使用settings.py方法并在那里定义所有数据库。

https://docs.djangoproject.com/en/1.7/topics/db/multi-db/

简而言之,您定义了一个数据库,并可以通过(根据文档)在您的代码中手动选择它:

Author.objects.using(database_name_variable).filter(...)

另一种方法是使用REST api(如Tastypie)来调用连接到每个数据库的不同Django实例。