Skip to main content
 首页 » 编程设计

python之如何在 Django 中访问数据库但没有 ORM 支持

2024年08月30日33lyj

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

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

from django.db import connections 
from django.conf import settings 
 
try: 
    cursor = connections[settings.CEP_DATABASE_NAME].cursor() 
    .... 

但我收到以下错误:

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

我的设置.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 数据库实例都已启动并正在运行。

我是否缺少某些配置?

提前致谢。

请您参考如下方法:

我觉得你的代码没问题。

我不得不问一个显而易见的问题:该数据库是否真的存在于本地主机上?

这是从 MySQLdb 模块抛出的异常,这让我觉得这里没有任何特定于 django 的错误,这就是为什么我问它是否只是一个真正的低级错误。

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