作为一个不理性的我,脑子一热就安装了这时的最新版本的django2.2,但是没办法,比较懒,也不想换了,然后我比较习惯使用mysql,所以我在学习django的时候想换mysql数据库,之后就有了一系列的报错。所以我把我解决的过程记录一下方便我以后查看。
1、首先安装好django后,需要新建一个app,这个就不细说了,教程一大顿,然后在项目根目录下的settings.py文件下的
DATABASES中修改参数,直接代码。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',# 或者使用 mysql.connector.django
'NAME': 'master', #先在你的数据库中新建数据库,然后把名字写在这
'USER': 'root',
'PASSWORD': '*********', #此处密码
'HOST': 'localhost',
'PORT': '3306',
}
}
2、在你新家的app文件夹下的models.py文件中写入代码
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length=32,default='title')
content = models.TextField(null=True)
3、接下来就来事迁移了工作了,首先在当前文件夹下的cmd中执行命令,前提是先下载pymysql库,没有的话先执行命令 pip install pymysql
先创建表:python manage.py migrate
这个时候你会发现一个错误
在你python的安装目录下找到Program Files\Python35\Lib\site-packages\django\db\backends\mysql\__init__.py文件,原本是空白文件,现在加上两句话。
import pymysql
pymysql.install_as_MySQLdb()
然后在执行,咦!又发现了个错误:
在上个错误的同级文件夹下找到base.py文件
这两行检测版本的代码注释掉就行了。然后在执行,唉!又报错了,先看看错误。
再在同级文件夹下找到operations.py文件,打开,把decode改成encode如下图.
在执行,OK了
数据库迁移好了,但是我们刚刚写了两个字段的表还没有创建,继续执行命令:
E:\PyProject\Practice> python manage.py makemigrations polls # 让 Django 知道我们在我们的模型有一些变更
E:\PyProject\Practice> python manage.py migrate polls # 创建表结构