Django的数据库创建配置有关问题
针对Python3的相关配置
因为项目使用的是Python3,需要pymysql支持数据库,django在加载数据库引擎时候还需要使用python2版本的mysqldb名称,为了解决该问题,需要安装pymysql。
使用PyCharm下的配置
打开Settings,在Project Interpreter处搜索PyMySQL Package并安装。
打开项目的__init__.py文件,在其中加入两行代码并保存
import pymysql
pymysql.install_as_MySQLdb()
在设置完成之后,可以在Terminal中执行以下命令:
python manage.py makemigrations
python manage.py migrate
可能在此时仍然会出现类似以下提示信息:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
根据错误提示进入base.py文件,按如下图所示注释if中的信息
raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)
此时再次执行两条迁移命令,即可正常生成数据库表格。
如果出现以下提示:
AttributeError: ‘str’ object has no attribute ‘decode’
同样,根据提示信息找到operations.py文件:
query 是 str 类型,而 decode() 是用来将 bytes 转换成 string 类型时使用的,因此这里可以将if内语句直接注释,并再次执行语句。
至此,数据库的迁移完成。