pymysql3相当于django.db.backends.mysql是什么?
我正在使用Python 3.3,并且安装了pymysql3。那么在Django的设置中,我需要指定哪个引擎呢:
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.
}
}
2 个回答
1
Django已经提供了一个MySQL的后端支持。从PyMySQL来看,它似乎是一个通用的MySQL客户端。你不能随便用其他库来替代Django现有的后端,因为它们的接口完全不兼容。
有一个项目看起来是提供了一个使用PyMySQL作为后端的Django支持,但是作者表示这个项目是实验性的,总共只有5次提交,而且自2012年以来就没有更新过,所以我不建议尝试使用它。
3
想了解更多信息,可以查看 django-mysql-pymysql。具体来说,
'ENGINE': 'mysql_pymysql',
不过这对我来说还不够。我还需要参考 这个回答。如果你有一个叫 foo
的 Django 应用,那么在你的 `foo/init.py` 文件中,添加以下内容:
import pymysql
pymysql.install_as_MySQLdb()