报错 TypeError: object supporting the buffer API required"/>
python manage.py makemigrations报错 TypeError: object supporting the buffer API required
报错信息如下:
(venv-small_box) jason93@Jason93deMacBook-Pro small_box % python manage.py makemigrations
Traceback (most recent call last):File "/Users/jason93/Desktop/PythonProject/djangoProject/small_box/manage.py", line 22, in <module>main()File "/Users/jason93/Desktop/PythonProject/djangoProject/small_box/manage.py", line 18, in mainexecute_from_command_line(sys.argv)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_lineutility.execute()File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/core/management/__init__.py", line 395, in executeself.fetch_command(subcommand).run_from_argv(self.argv)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/core/management/base.py", line 330, in run_from_argvself.execute(*args, **cmd_options)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/core/management/base.py", line 371, in executeoutput = self.handle(*args, **options)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/core/management/base.py", line 85, in wrappedres = handle_func(*args, **kwargs)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/core/management/commands/makemigrations.py", line 101, in handleloader.check_consistent_history(connection)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/db/migrations/loader.py", line 290, in check_consistent_historyapplied = recorder.applied_migrations()File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/db/migrations/recorder.py", line 77, in applied_migrationsif self.has_table():File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/db/migrations/recorder.py", line 55, in has_tablewith self.connection.cursor() as cursor:File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/utils/asyncio.py", line 26, in innerreturn func(*args, **kwargs)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/db/backends/base/base.py", line 259, in cursorreturn self._cursor()File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/db/backends/base/base.py", line 235, in _cursorself.ensure_connection()File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/utils/asyncio.py", line 26, in innerreturn func(*args, **kwargs)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/db/backends/base/base.py", line 219, in ensure_connectionself.connect()File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/utils/asyncio.py", line 26, in innerreturn func(*args, **kwargs)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/db/backends/base/base.py", line 200, in connectself.connection = self.get_new_connection(conn_params)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/utils/asyncio.py", line 26, in innerreturn func(*args, **kwargs)File "/Users/jason93/Library/Python/3.9/lib/python/site-packages/django/db/backends/mysql/base.py", line 234, in get_new_connectionreturn Database.connect(**conn_params)File "/Users/jason93/Desktop/PythonProject/djangoProject/venv-small_box/lib/python3.9/site-packages/pymysql/__init__.py", line 94, in Connectreturn Connection(*args, **kwargs)File "/Users/jason93/Desktop/PythonProject/djangoProject/venv-small_box/lib/python3.9/site-packages/pymysql/connections.py", line 327, in __init__self.connect()File "/Users/jason93/Desktop/PythonProject/djangoProject/venv-small_box/lib/python3.9/site-packages/pymysql/connections.py", line 588, in connectself._request_authentication()File "/Users/jason93/Desktop/PythonProject/djangoProject/venv-small_box/lib/python3.9/site-packages/pymysql/connections.py", line 815, in _request_authenticationauthresp = _auth.scramble_caching_sha2(self.password, self.salt)File "/Users/jason93/Desktop/PythonProject/djangoProject/venv-small_box/lib/python3.9/site-packages/pymysql/_auth.py", line 257, in scramble_caching_sha2p1 = hashlib.sha256(password).digest()
TypeError: object supporting the buffer API required
分析:Django和mysql交互时,配置数据库相关信息时可能有问题,检查settings中的DATAVABASE配置:
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'small_box','USER': 'root','PASSWORD': 12345678,'HOST': 'localhost','PORT': 3306}
}
问题解决:PASSWORD应该是str类型,此处写了int类型,修改如下:
然后再运行 python manage.py makemigrations就可以了。
更多推荐
python manage.py makemigrations报错 TypeError: object supporting the buffer API re
发布评论