搭建Django2.0+Python3+MySQL5時同步數據庫時報錯:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None
解決辦法:
找到Python安裝路勁下的Python36-32\Lib\site-packages\django\db\backends\mysql\base.py文件
將文件中的如下代碼注釋
if version < (1, 3, 3):
? ? raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
重新在項目manage.py路勁下執行如下命令即可
python?manage.py?makemigrations
python?manage.py?migrate
附:Django配置MySQL數據庫方法
一、settings.py文件中修改數據庫配置為下面的內容:
# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases
DATABASES = {
? ? 'default': {
? ? ? ? 'ENGINE': 'django.db.backends.mysql',
? ? ? ? 'HOST': '127.0.0.1',
? ? ? ? 'PORT': '3306',
? ? ? ? 'NAME': 'mysql',
? ? ? ? 'USER': 'root',
? ? ? ? 'PASSWORD': 'zwg123456',
? ? ? ? 'OPTIONS': {
? ? ? ? ? ? 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
? ? ? ? ? ? },
? ? }
}
驅動(ENGINE)、主機地址(HOST)、端口號(PORT)、數據庫(NAME)、用戶名(NAME)以及登錄密碼(PASSWORD);
二、在__init_.py文件添加如下配置:
# coding=utf-8
import pymysql
pymysql.install_as_MySQLdb()
因為Django連接MySQL時默認使用MySQLdb驅動,但MySQLdb不支持Python3,因此這里將MySQL驅動設置為pymysql。
三、執行數據遷移
在項目manage.py路勁下執行如下命令即可
python?manage.py?makemigrations
python?manage.py?migrate
關于sql_mode的設置,可參考Django文檔:https://docs.djangoproject.com/en/2.0/ref/databases/#setting-sql-mode
?