使用DB而不修改它 - Django

时间:2014-07-17 08:34:26

标签: django

我需要连接到Django项目中的Postgresql服务器。但我严格要求不对数据库或表格进行任何修改。

如果我没错,只需将此数据库添加到settings.py并运行syncdb即可创建并向数据库添加一些django特定表。

如何解决这个问题?如果我在默认情况下将另一个(本地)sqlite DB添加到settings.py和我的远程postresql服务器;我可以确定Django没有在我的服务器中创建任何表吗?我在文档中找不到这个信息。

由于

1 个答案:

答案 0 :(得分:1)

settings.py中配置两个数据库,并使用create database router将查询路由到相应的数据库。

将所有Django管理员/用户的东西路由到您的sqlite数据库(使其成为default数据库,并确保它确实是您的路由器默认返回的数据库),并挑出您需要的应​​用程序查询去Postgres数据库。

路由器还有一种方法可以找到用于写入的数据库和一个用于读取的数据库,因此您可以将其用作故障安全:只需确保db_for_write永远不会返回您的Postgres数据库,并且您很高兴去。