django.db.utils.InternalError: (1067, "Invalid default value for 'job'")
查看models.py里面关于job的定义,发现其default值为中文
我就觉得可能是mysql不支持中文字符的储存,在mysql客户端执行show variables like 'character%';
看看编码是否为utf8,若不是,则需要对mysql配置文件进行修改
打开配置文件:C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
找到[client]
添加default-character-set=utf8
找到[mysqld]
添加character-set-server = utf8
重启mysql,在命令行先执行net stop mysql57
命令,然后执行net start mysql57
命令
(mysql57看具体的服务名称,可在任务管理器查看)
重启之后执行show variables like 'character%';
编码已改为utf8
再次执行python manage.py makemigrations
python manage.py migrate
数据迁移成功!
若在再次执行迁移时出现重复字段等错误,则需要在mysql中把相应数据表删除,再迁移!
好了,到此为止,希望对你有帮助!