如何解决Django中出现的django.db.utils.NotSupportedError错误
解决Django升级后MariaDB版本不兼容问题
错误信息
升级pip、MySQL客户端及Django版本后,执行python manage.py runserver时触发以下错误:
django.db.utils.NotSupportedError: MariaDB 10.3 or later is required (found 10.1.19).
问题原因
升级后的Django版本对MariaDB的最低适配版本提升至10.3,当前使用的10.1.19版本不满足要求。
解决方案
方案1:升级MariaDB到10.3及以上
- 先备份数据库所有数据,防止升级丢失数据
- 根据操作系统(Linux/Windows/macOS)下载对应版本的MariaDB安装包
- 完成升级后重启数据库服务,再重新运行
python manage.py runserver
方案2:降级Django至兼容MariaDB 10.1的版本
- 查看当前Django版本:
pip show django - 卸载当前版本:
pip uninstall django - 安装适配版本(如Django 3.x系列,Django 4.x起要求MariaDB 10.3+):
pip install django==3.2.25 - 验证版本无误后启动服务
方案3:临时修改Django版本校验逻辑(不推荐)
- 找到Django源码中数据库版本校验文件(通常路径:
django/db/backends/mysql/validation.py) - 定位
check_database_version_supported函数,将版本判断条件里的10.3改为10.1 - 注意:此方法会绕过官方兼容性校验,可能引发未知问题,仅作临时应急使用
内容的提问来源于stack exchange,提问作者Shimmy Govindpv
相关产品推荐
相关产品推荐

