该问题着实把我搞吐了,一直以为是mysql与django兼容性问题,最后后后,发现是在docker-compose.yml中,build完成mysql直接去Python migrate或runserver此时在setting中寻找mysql配置并连接数据库,但mysql还未完成启动,导致找不到数据库报错

解决方式

方式一

在使用compose时,可以先up db,再up app(先启动数据库再启动app)

方式二

在compose中,python3 manage.py runserver 0.0.0.0:8000命令前先sleep 60秒或更长,再执行python命令