Django开发遇到的几个坑儿
1. django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None
解决方法:观察错误信息,找到报错文件: Lib\site-packages\django\db\backends\mysql\base.py
找到如下代码,将其注释。
if version < (1, 3, 13):
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
2.AttributeError: ‘str’ object has no attribute ‘decode’
解决方法:观察报错信息,找到报错文件Lib\site-packages\django\db\backends\mysql\operations.py
找到文件中的last_executed_query函数,将其中的如下代码注释:
if query is not None:
query = query.decode(errors='replace')
3. 执行 python manage.py migrate 报pymysql.err.InternalError: (1050, “Table ‘XXXX’ already exists”)
问题重现:用Django的ORM操作已有的数据库表,导致同步到数据库操作失败。
解决方法:输入指令python manage.py migrate --fake(假装已经同步到数据库了-_-)