Django进行文件迁移操作时,cmd界面执行python manage.py makemigrations 操作报AttributeError: ‘str’ object has no attribute ‘decode’
找到报错信息:
报错显示:
在python安装路径下 lib\site-packages\django\db\backends\mysql\operations.py这个脚本的第146行 在执行query = query.decode(errors=‘replace’) 这个语句时报错。
由于 python3.和Python2.在套接字返回值解码上的区别
python在bytes和str两种类型转换,所需要的函数依次是encode(),decode()
str通过encode()方法可以编码为指定的bytes。反过来,当从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法。反之,则使用encode()方法即可!
我们这边需要将decode替换成encode即可
query = query.encode(errors=‘replace’)