django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.31).
时间: 2023-12-10 11:05:06 浏览: 330
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
这个错误是因为你的 Django 项目需要使用 MySQL 8 或更高版本,但是你的数据库是 MySQL 5.7.31 版本,不符合要求。
你可以升级你的 MySQL 数据库到最新版本,或者在你的 Django 项目中使用兼容 MySQL 5.7.31 版本的 MySQL 驱动。你可以尝试使用 mysqlclient 或者 PyMySQL 代替默认的 MySQL 驱动,这些驱动支持 MySQL 5.7.31 版本。
如果你使用的是 Django 3.1 或更高版本,可以在 settings.py 文件中添加以下设置:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
'NAME': 'your_database_name',
'USER': 'your_database_user',
'PASSWORD': 'your_database_password',
'HOST': 'your_database_host',
'PORT': 'your_database_port',
}
}
```
这个设置会在连接 MySQL 数据库时添加一个 SQL MODE,以兼容 MySQL 5.7.31 版本。
阅读全文