Django 3.x 错误:“mysql.connector.django”不是可用的数据库后端

als*_*str 8 python mysql django mysql-connector-python

最近将 Django 项目从 2.x 升级到 3.x,我注意到mysql.connector.django后端(来自mysql-connector-python)不再工作。它使用的最后一个 Django 版本是 2.2.11。3.0 就打破了。我在用mysql-connector-python==8.0.19

运行时manage.py runserver出现如下错误:

django.core.exceptions.ImproperlyConfigured: 'mysql.connector.django' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
    'mysql', 'oracle', 'postgresql', 'sqlite3'
Run Code Online (Sandbox Code Playgroud)

我知道这不是官方的 Django 后端,但由于我无法控制的原因,我必须在这个项目上使用它。

我 80% 确定这是库的问题,但我只是想看看除了等待更新之外是否可以采取任何措施来解决它。

更新:

mysql.connector.django现在可以与 Django 3+ 一起使用。

obo*_*zat 5

对于Django 3.0并且Django 3.1我设法让它与mysql-connector-python 8.0.22. 请参阅此https://dev.mysql.com/doc/relnotes/connector-python/en/news-8-0-22.html

  • 就我而言,当我尝试 Django 3.2 和 `mysql-connector-python` 8.0.25 时,它抱怨我没有安装 `mysqlclient`。看起来在 8.0.22 之后,当他们现在导入“django.db.backends.mysql.base”时,添加了“mysqlclient”要求:https://github.com/mysql/mysql-connector-python/commit /407ac56ad770322d43acafc5c18622b79bc63d96#diff-021c9eb7e40afc07c92a0503ab973f4b5d9ad34310cd3021ed926d7da0a9e027 (2认同)