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

Django 1.11是否兼容djongo包?启动服务器报错如何解决?

Django 1.11与djongo兼容性问题解答

直接给结论:Django 1.11版本并不兼容当前主流版本的djongo包,这正是你遇到报错的核心原因。

报错原因分析

你看到的ModuleNotFoundError: No module named 'django.db.models.fields.mixins',是因为FieldCacheMixin这个类是在Django 2.0版本才新增的模块,而djongo的代码中直接引用了这个仅在高版本Django存在的类。当你在Django 1.11环境下加载djongo时,自然找不到这个模块,从而触发报错——这也解释了为什么切换到Django 2.x后一切正常。

可行的解决方案

针对这个问题,你有两个方向可以选择:

  1. 升级Django版本到2.x及以上
    这是最推荐的方案,既然你已经验证过Django 2.x能和djongo正常配合,升级后不仅能解决兼容性问题,还能获得Django新版本的功能更新和安全补丁(注意Django 1.11早已停止官方维护,存在安全风险)。

  2. 安装兼容Django 1.11的旧版djongo
    如果你因业务限制无法升级Django,可以尝试查找并安装djongo的旧版本,这些版本在开发时适配了Django 1.11。你可以通过以下步骤操作:

    • 先查询djongo的历史版本列表,找到明确标注支持Django 1.11的版本号
    • 使用pip指定版本安装,比如:
      pip install djongo==<兼容的旧版本号>
      

    不过需要注意:旧版djongo可能已经停止维护,后续可能会遇到功能缺失或安全漏洞问题,需要谨慎评估。

你遇到的报错日志

from djongo import models
File "/usr/local/lib/python3.6/dist-packages/djongo/models/__init__.py", line 3, in <module>
from .fields import (
File "/usr/local/lib/python3.6/dist-packages/djongo/models/fields.py", line 28, in <module>
from django.db.models.fields.mixins import FieldCacheMixin
ModuleNotFoundError: No module named 'django.db.models.fields.mixins'

内容的提问来源于stack exchange,提问作者Ayush Kothari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:53:17