在用1.0的时候,就想着能否有多数据库支持(当时的想法可能不是这个名称),大概意思就是我新添加的model能否使用独立的数据库,可以直接在 model里设置这个表的数据库链接方式,用户名、密码等等。当时想这些只是为了方便测试,以防止测试新功能却要改动运行机中的数据库,而且加表等等。而 这些,可能也需要通过一系列权限,很是麻烦(公司中为了安全起见,可以理解)。
现在1.2中终于添加了这个支持,而系统的django库也顺势更新为这个版本。
详细文档请见:http://docs.djangoproject.com/en/1.2/topics/db/multi-db/
基本用法:
在settings.py中添加新的数据库:
DATABASES = { 'default' : { 'NAME' : 'app_data' , 'ENGINE' : 'django.db.backends.postgresql_psycopg2' , 'USER' : 'postgres_user' , 'PASSWORD' : 's3krit' }, 'users' : { 'NAME' : 'user_data' , 'ENGINE' : 'django.db.backends.mysql' , 'USER' : 'mysql_user' , 'PASSWORD' : 'priv4te' } } models无须改变 比如需要使用users这个数据库,则,使用using方法: 查找: Author . objects . using ( 'users' ) . all () 保存: my_object . save ( using = 'users' ) 删除: my_object . delete ( using = 'users' ) 更多功能,就看文档吧 自iamsk7.appspot.com转移,2010-08-22,准备放弃自己做的blog ;)