2012-02-09 16 views
1

我想弄清楚这样做的最佳方法。像往常一样,在the django documentation上有一些好的指标,但我仍然不确定什么是最好的方法。多个数据库:如何使外部django应用程序使用不同的数据库

django应用程序使用本质上非托管的数据库(它非常复杂,使用视图,触发器等,例如,syncdb不起作用)。然而,没关系,因为DBA在这里创建了自己的数据库迁移,并且不管django如何管理数据库。

但是,我想使用一些外部的第三方应用程序,并且这些应用程序有些时候会附带一些自己的数据库表。我非常希望能够syncdb那些和独立管理。由于应用程序表通常独立于核心应用程序表,因此我目前使用的想法是为第三方应用程序使用单独的'other'数据库。

通读本指南似乎有意义创建自定义路由器,并根据应用名称,将其路由到此数据库'other'。但是,如果应用程序还需要与现有模型进行交互,会发生什么情况?是否可以/明智地创建一个路由器,将有效地将所有应用程序特定的路由到'other'数据库和其他任何到'default'数据库?有没有一种通用的方法来实现这一点,而不用硬编码路由器中的所有第三方表?

回答

1

这是一个愚蠢的问题。必须是一些咖啡因缺乏或对雪的不利反应。我只是没有意识到数据库路由器功能将模型作为参数,并且可以轻松地制作每个模型(而不是每个应用)的决定。

相关问题