zoukankan      html  css  js  c++  java
  • django更换默认数据库sqlite3为pymsql后出现Keyerror:255的解决办法----升级PyMySQL

    一、更换数据库的办法:

    1、安装PyMySQL

    2、修改project目录同名文件下的settings.py:DATABASES = {

        'default': {
    # 'ENGINE': 'django.db.backends.sqlite3', 默认的
    # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),默认的
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'hello_django_db',
    'USER': 'root',
    'PASSWORD': '1234',
    'HOST': 'localhost',
    'PORT': '3306',
    }
    }
    3、在该目录下打开__init__.py文件,添加以下语句:
     
    import pymysql
      
    pymysql.install_as_MySQLdb()

    然后运行 manage.py runserver,发现出现keyerro:255的错误;网上搜索,找到解决办法:

    二、解决
    keyerro:255
    主要原因是MySQL8.0更新了很多字符集,但是这些字符集长度超过255了,所以旧版的PyMySQL不支持长度超过255的字符 

    导致上述问题的主要原因是KeyError: 255这个错误:

    
    
    Traceback (most recent call last):
      ...
      File "C:Program FilesPython36libsite-packagespymysql\__init__.py", line 90, in Connect
        return Connection(*args, **kwargs)
      File "C:Program FilesPython36libsite-packagespymysqlconnections.py", line 706, in __init__
        self.connect()
      File "C:Program FilesPython36libsite-packagespymysqlconnections.py", line 931, in connect
        self._get_server_information()
      File "C:Program FilesPython36libsite-packagespymysqlconnections.py", line 1269, in _get_server_information
        self.server_charset = charset_by_id(lang).name
      File "C:Program FilesPython36libsite-packagespymysqlcharset.py", line 38, in by_id
        return self._by_id[id]
    KeyError: 255

    主要原因是MySQL8.0更新了很多字符集,但是这些字符集长度超过255了,所以旧版的PyMySQL不支持长度超过255的字符 
    查看当前版本的PyMySQL:

    
    
    > pip list
    Package                Version
    ---------------------- -----------
    PyMySQL                0.7.11

    更新PyMySQL为最新版,问题解决。

    
    
    
    
     
    明月装饰了你的窗子,你装饰了他的梦。
  • 相关阅读:
    java实现机器人行走
    java实现机器人行走
    java实现机器人行走
    java实现机器人行走
    java实现机器人行走
    java实现购物券消费方案
    java实现购物券消费方案
    java实现购物券消费方案
    java实现购物券消费方案
    《技术垄断:文明向技术投降》
  • 原文地址:https://www.cnblogs.com/zkkysqs/p/9192160.html
Copyright © 2011-2022 走看看