当我尝试在Django shell中检查我的MySQLdb连接器时出错

时间:2015-02-03 11:12:26

标签: mysql django

 60 DATABASE_ENGINE = 'django.db.backends.mysql'
 61 DATABASE_NAME = 'mysite'
 62 DATABASE_USER = 'root'
 63 DATABASE_PASSWORD = 'password'
 64 DATABASE_HOST = '127.0.0.1'
 65 DATABASE_PORT = '3306'
 66 
 67 DATABASES = {
 68     'default': {
 69         'ENGINE': DATABASE_ENGINE,
 70         'NAME': DATABASE_NAME,
 71         'USER': DATABASE_USER,
 72         'PASSWORD': DATABASE_PASSWORD,
 73         'HOST': DATABASE_HOST,
 74         'PORT': DATABASE_PORT,
 75     }
 76 }

在我的django项目上面的settings.py下,我试着看看数据库适配器(MySQLdb:http://sourceforge.net/projects/mysql-python/)是否正常运行我的django配置。

但我最终遇到了一些我以前从未见过的错误。

python manage.py shell
>>> from django.db import connection
>>> a = connection()

Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: 'DefaultConnectionProxy' object is not callable

当然,我在我的机器上安装了mysql,因为我之前完成了这个配置,并且当时工作正常,我很困惑这次我做错了什么。

我知道当django的settings.py配置导致错误时会出现什么错误消息。但我完全不知道这个错误会发生什么。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

&#34;对象django.db.connection表示默认的数据库连接。要使用数据库连接,请调用connection.cursor()以获取游标对象。然后,调用cursor.execute(sql,[params])执行SQL和cursor.fetchone()或cursor.fetchall()以返回结果行。&#34;

https://docs.djangoproject.com/en/1.7/topics/db/sql/#executing-custom-sql-directly

所以,如果你需要连接对象,你应该这样做:

connection = django.db.connection

Django使用与数据库的持久连接,因此您无需初始化它。