zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    MFC TeeChart 用法整理二 (画二维图)
    CFileFind类的详解以及应用实例
    error C2065: 'AfxCriticalTerm' : undeclared identifier 解决办法
    error LNK2001
    ShellExecute详细用法(可以单独打开一个文件)
    java连接SQL Server数据库
    Java 异常处理
    eclipse 无法自动匹配
    Java简单的表格模型
    Java 字符串常用操作(String类)
  • 原文地址:https://www.cnblogs.com/qianzf/p/15684291.html
Copyright © 2011-2022 走看看