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配置导致错误时会出现什么错误消息。但我完全不知道这个错误会发生什么。
请帮帮我。
答案 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使用与数据库的持久连接,因此您无需初始化它。