我正在使用python版本3.6.3
和django版本2.0.1
。
当我在cmd中输入py manage.py migrate
时,我得到了下面的结果。
(mysqlclient 1.3.3或更新版本是必需的;你有0.7.11.None)
我试图将mysql数据库链接到我的django项目。
init.py codes:
import pymysql
pymysql.install_as_MySQLdb()
settings.py codes:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': os.path.join(BASE_DIR, 'mysite'),
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '8000',
}
}
删除你的代码
#import pymysql
#pymysql.install_as_MySQLdb()
安装python包“mysqlclient”
pip install mysqlclient
我可以从您的设置中看到您正在使用PyMySQL。请注意,Django并未正式支持PyMySQL。
如果您使用MySQL,Django建议使用mysqlclient
。正如错误消息所示,Django 2.0需要mysqlclient
1.3.3或更新版本。
PyMySQL has a shim兼容MySQLdb
,但在0.7.11中它假装为1.2.6,这对于Django 2.0来说太低了。
# we include a doctored version_info here for MySQLdb compatibility
version_info = (1,2,6,"final",0)
问题是fixed on the master branch所以你不会在即将发布的0.8版本中得到这个错误。
最后,请注意Django并未正式支持PyMySQL,因此如果您使用它,可能会遇到问题。例如,BinaryField
存在问题。