django如何将sqllite数据库改成mysql

一,安装MySQL的驱动

 

       1,python2版本的安装MySQLdb,pip安装pip安装MySQLdb

       2,python3版本的安装pySQLdb,pip安装pip install pySQLdb

二,修改配置

        打开setting.py配置文件

DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'stackoverflow', #数据库名称
        'USER': 'root',#用户名
        'PASSWORD': 'root', #密码
        'HOST': 'localhost', #地址
        'PORT': '3306', #端口
        'CHARSET': 'utf8',
        'COLLATION': 'utf8_general_ci',
    }
}

setting同目录下的_init_.py添加:

    import pymysql
    pymysql.install_as_MySQLdb()

三,同步数据库

      python manage.py makemigrations制造迁移生成相应的文件,这个文件也就是让数据库生成相应表的代码文件。

     

        python manage.py migrate迁移,即运行上步骤中生成的文件,然后在数据库生成相应的表

        使数据库状态与当前模型集和迁移集同步。说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。例如,新建,修改,删除数据表,新增,修改,删除某数据表内的字段等等。

        同步过程中如出现django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为'MySQLdb'的模块,原因是:

            在python2中,使用pip install mysql-python进行安装连接MySQL的库,使用时导入MySQLdb进行使用,在python3中,改变了连接库,改为了pymysql库,使用pip install pymysql进行安装,直接导入导入pymysql使用,本来在上面的基础上把python3的pymysql库安装上去就行了,但是问题依旧,经过查阅得知,Django依旧是使用py2的MySQLdb库的,得到进行适当的转换才行。

            解决办法:

            在__init__.py文件中添加以下代码

            导入pymysql

            pymysql.install_as_MySQLdb()

原文地址:https://www.cnblogs.com/qianzf/p/15684291.html