1. 程式人生 > >django中配置多個mongodb數據庫

django中配置多個mongodb數據庫

默認 bsp def imp test string body mode name

在Djnago中使用MongoDB數據庫時,使用mongoengine模塊。在settings中配置數據庫連接如下:

from mongoengine import connect
connect(dbname1, host=127.0.0.1, port=27017)

其中的dbname1為要連接的mongodb數據庫名字,host為mongodb數據庫ip,port為相應的端口。

上面為單個數據庫的配置,如果要配置多個數據庫,一要在settings中增加數據庫連接;二要在models中定義的表中指明使用的數據庫。

settings配置如下:

from mongoengine import connect
connect(dbname1, host=127.0.0.1, port=27017, alias=default)
connect(dbname2, host=127.0.0.1, port=27017, alias=db2)

其中增加了一個參數alias,用於給多個數據庫取別名,以方便在models的表中指定要使用的數據庫,其中必須有一個default。不指定表使用庫時,默認使用default庫。

settings設置好之後,models的表中配置如下:

from mongoengine import
* class Test(Document): name = StringField() age = IntField() meta = {db_alias: db2}

設置表要使用的庫,添加元素meta,指定db_alias(key)的value值就可以,其中的value值為settings配置的數據庫別名。

django中配置多個mongodb數據庫