django中配置多個mongodb數據庫
阿新 • • 發佈:2018-04-07
默認 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數據庫