django 连接到 mysql 和 mongodb

django connect to mysql and mongodb

我有 2 个数据库 mysql 和 mongo。在 mysql 上,人们拥有所有数据,而在 mongo 上,人们只拥有图像。我是这样定义的

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '*****',
        'USER': '*****',
        'PASSWORD': '*****',
        'HOST': '1*****',
        'PORT': '1*****',
        'TEST': {
            'NAME': '*****',
            # 'CHARSET': 'utf8',
        },
        'mongodb':  {
            'ENGINE': 'djongo',
            'NAME': '*****',
            'USER': '*****',
            'PASSWORD': '*****',
            'HOST': '*****',
            'PORT': '*****',
            'TEST': {
                'NAME': '*****',
                # 'CHARSET': 'utf8',
            },
        }

    }
}

现在我想 运行 在 mongodb 上检查数据库,我发现了这个错误

manage.py inspectdb --database mongodb
django.db.utils.ConnectionDoesNotExist: The connection mongodb doesn't exist

主机密码端口正常

您在 'TEST' 相同的 级别写了 mongodb,等等。这意味着您只定义了 一个 数据库,并且 mongodb 是该字典的键。

因此,您应该在 default 数据库相同的 级别指定 mongodb 数据库:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '*****',
        'USER': '*****',
        'PASSWORD': '*****',
        'HOST': '1*****',
        'PORT': '1*****',
        'TEST': {
            'NAME': '*****',
            # 'CHARSET': 'utf8',
        }
    <b>},</b>
    <b>'mongodb':</b>  {
        'ENGINE': 'djongo',
        'NAME': '*****',
        'USER': '*****',
        'PASSWORD': '*****',
        'HOST': '*****',
        'PORT': '*****',
        'TEST': {
            'NAME': '*****',
            # 'CHARSET': 'utf8',
        },
    }
}