You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django执行makemigrations/migrate报错:'djongo'非可用数据库后端

问题:执行makemigrations/migrate时提示'djongo'不是可用数据库后端

执行python manage.py makemigrations或migrate命令时触发以下错误:

django.core.exceptions.ImproperlyConfigured: 'djongo' isn't an available database backend or couldn't be imported. Check the above exception. To use one of the built-in backends, use 'django.db.backends.XXX', where XXX is one of:
'mysql', 'oracle', 'postgresql', 'sqlite3'

环境信息

  • Python版本:3.10
  • 已安装依赖包:
asgiref    3.6.0
Django     4.1.7
djongo     1.3.6
dnspython  2.3.0
pip        23.0.1
pymongo    4.3.3
setuptools 67.6.0
sqlparse   0.2.4
tzdata     2022.7

当前配置(settings.py)

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'dapp',
'djongo',
]

DATABASES = {
    'default': {
      'ENGINE': 'djongo',
      'NAME': 'testdb',
      'HOST': 'localhost',
      'PORT': 27017,
  }
 }

解决方案

1. 移除INSTALLED_APPS中的'djongo'

djongo是数据库后端适配器,不需要添加到INSTALLED_APPS注册,删除这一行后修改为:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'dapp',
]

2. 修复版本兼容性问题

djongo 1.3.6对Django 4.1.x的支持存在兼容缺陷,建议升级到适配的版本:

pip install --upgrade djongo

若升级后仍有问题,可指定稳定兼容版本:

pip install djongo==1.3.8

3. 验证虚拟环境依赖(若使用)

确保在项目对应的虚拟环境中安装了djongo,避免全局环境与虚拟环境依赖混淆。执行以下命令确认:

pip list

若列表中无djongo,重新在虚拟环境内安装:

pip install djongo

4. 强制重新安装修复损坏文件

若之前安装过程有报错导致文件损坏,执行强制重装:

pip install --force-reinstall djongo

5. 检查MongoDB服务状态

确认本地MongoDB服务正在运行且27017端口可访问,可通过以下命令验证:

mongosh --host localhost --port 27017

若无法连接,先启动MongoDB服务再执行Django命令。

内容的提问来源于stack exchange,提问作者ashish pandey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 03:05:24