我的Django应用程序中有第二个数据库,其中填充有有关我的国家(巴西)和相关街道,街区,城市和州的邮政编码的静态数据。

我正在尝试像这样访问它:

from django.db import connections
from django.conf import settings

try:
    cursor = connections[settings.CEP_DATABASE_NAME].cursor()
    ....


但出现以下错误:

OperationalError: (1049, "Unknown database 'cep'")


我的settings.py:

CEP_DATABASE_NAME = 'cep'
DATABASES = {
    'default': {
        'NAME': 'hypersaber',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST' : 'localhost',
        'PORT' : '3306',
        'OPTIONS' : {"init_command": "SET storage_engine=INNODB"}
    },
    CEP_DATABASE_NAME: {
        'NAME': CEP_DATABASE_NAME,
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST' : 'localhost',
        'PORT' : '3306',
        'OPTIONS' : {"init_command": "SET storage_engine=INNODB"}
    }
}


我的两个MySQL数据库实例都已启动并正在运行。

我是否缺少某些配置?

提前致谢。

最佳答案

您的代码对我来说很好。

我必须问一个明显的问题:该数据库实际上是否存在于localhost上?

这是从MySQLdb模块抛出的异常,这使我认为这里没有Django特定的错误,这就是为什么我问这是否只是一个真正的低级错误。

您可以从常规(非Django)Python脚本访问数据库吗?

10-01 23:06
查看更多