django中配置多个mongodb数据库

Posted trs21

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django中配置多个mongodb数据库相关的知识,希望对你有一定的参考价值。

    在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数据库的主要内容,如果未能解决你的问题,请参考以下文章

mongodb dbpath可以配置多个么

djongo:Django和MongoDB连接器

如何在 Django Summernote 中显示编程片段的代码块?

如何在扩展另一个文件的 django 模板中使用带有动态内容的 html 块片段?

django mongodb配置

多个mongoDB数据源,怎么配置动态切换