我正在运行python33并且我已经安装了pymysql3但是我需要在Django设置中指定ENGINE:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'chris_test', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'some_user',
'PASSWORD': 'some password',
'HOST': 'some_host', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '3306', # Set to empty string for default.
}
}
答案 0 :(得分:3)
查看django-mysql-pymysql了解更多信息。具体来说,
'ENGINE': 'mysql_pymysql',
但这对我来说还不够。我不得不使用this answer 。如果你有一个foo
Django应用程序,那么在你的`foo / init .py'中添加以下内容:
import pymysql
pymysql.install_as_MySQLdb()
答案 1 :(得分:1)
Django已经提供了一个MySQL后端。从查看PyMySQL,它似乎是一个通用的MySQL客户端。您不能随意使用不同的库来代替现有的Django后端; API将完全不兼容。
有一个项目出现在provide a Django backend that uses PyMySQL internally,但作者声称它是 experimental ,它共有5次提交,自2012年以来一直没有更新,所以我不建议尝试使用它。