异常:Mysql数据库迁移

搭建Django2.0+Python3+MySQL5时同步数据库时报错:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None

解决办法:

  1. 找到Python安装路劲下的Python36-32Libsite-packagesdjangodbackendsmysqlase.py文件

  2. 将文件中的如下代码注释

    if version < (1, 3, 3):
        raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
    
  3. 重新在项目manage.py路劲下执行如下命令即可

    python manage.py makemigrations
    python manage.py migrate
    

附:Django配置MySQL数据库方法

  1. 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);

  2. 在__init_.py文件添加如下配置:

    # coding=utf-8
    
    import pymysql
    pymysql.install_as_MySQLdb()
    
  3. 因为Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql。

  4. 执行数据迁移:在项目manage.py路劲下执行如下命令即可

    python manage.py makemigrations
    python manage.py migrate
    
原文地址:https://www.cnblogs.com/jiumo/p/10981579.html