Django,模型和多个数据库

时间:2013-05-01 02:26:19

标签: database django django-models multiple-databases

Python version: 2.7& Django version: 1.5.1

我目前正致力于为phpbb3开发后端应用。我们目前在PHP的实施正在耗费太多资源。

我完成了大约90%的工作,但在配置方面我遇到了一个小问题。

我们有多个论坛需要运行脚本,每个论坛都有自己的数据库,例如site1,site2和site3数据库。 Django也有自己的数据库。

我需要做的是根据网站上的每个网站和论坛指定我的脚本设置。所以我需要获取site1上存在的论坛,然后在管理面板中他们可以选择站点1并选择一个论坛并从那里选择他们的配置。然后,他们可以选择站点2,从站点2中选择一个论坛,然后设置他们的数据。

我不想为我们正在运行的每个网站创建一个django网站,我希望尽可能轻松地添加新网站,但我不反对为每个网站制作一个新的应用程序那是什么需要?

从另一个数据库动态提取论坛并将其与站点值相关联,并为该论坛提供配置模型的最佳方法是什么。 (我不希望他们能够选择另一个网站上存在的论坛)

1 个答案:

答案 0 :(得分:1)

以下是一些指针,您可以使用它们实现上述功能:

<强> 1。针对不同Django站点的不同数据库。

您可以找到相关问题here,其中说明了如何为custom router设置Database

<强> 2。一起访问django和phpbb数据库的方法。

有一个Github项目可用here,可能对此有所帮助。

第3。管理界面,用于选择站点,相应的数据库并应用设置。

最简单的选项是将您的设置转储到DictionaryFile或两者的组合中,并根据该字典中针对该特定网站的网站ID选择设置进行转储。

说实话,我觉得你不需要Admin Inteface。但是,如果有任何我不知道的要求,那么你可以写一个简单的视图来处理上面的事情并从管理面板提供它的访问权。

希望这可以解决您的问题。