关于Django与mysql连接,然后在生成迁移文件时候遇到的小错误。并给出的解决方案!
第一个错
因为mysqlclient报错导致的问题:
File "E:\PythonEnvs\Django\envs_django\lib\site-packages\django\db\backends\mysql\base.py", line 36, in <module>
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
解决的方法是(可能很low,但是找到其他解决的办法):找到Django所在的目录,然后按目录顺序(我的放在虚拟环境):envs_django\Lib\site-packages\django\db\backends\mysql目录下的base.py。大概在35,36行左右。
将我选中的两行注释掉,然后这个错就可以解决。
正当我以为错误解决的时候,又有一个问题相继遇到:
第二个问题
貌似因为编码的问题,之前用Django的时候并没有遇到这个问题,但是不知道为啥,重装了系统后,就遇到了这个问题,有时候就很神奇!
File "E:\PythonEnvs\Django\envs_django\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query
query = query.decode(errors='replace')
AttributeError: ‘str’ object has no attribute ‘decode’
可以根据报错时候所给的提示:
找到这个operations.py,然后编辑打开。大概在这个代码的第145,146行。
将我选中的145,146行代码,给注释掉。(虽然解决方法很烂,但是没有找到其他的解决办法,将就一下!)
做完这些步骤,两个问题也就解决了!