我正在使用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',
}
}
答案 0 :(得分:1)
我可以从您的设置中看到您正在使用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
存在问题。
答案 1 :(得分:1)
删除你的代码
#import pymysql
#pymysql.install_as_MySQLdb()
安装python包“mysqlclient”
pip install mysqlclient