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

AWS Ubuntu部署Django3.0.11项目遇JSONField导入错误求解决

问题原因

你碰到的ImportError: cannot import name 'JSONField'是Django版本差异导致的导入路径问题!在你使用的Django 3.0.11版本中,JSONField还没有被放到django.db.models的顶层模块里,它当时属于django.db.models.fields.json子模块。而从Django 3.1开始,JSONField才被移到django.db.models顶层,支持直接导入。

解决方法

只需要修改peeldb/models.py文件里的导入语句就能解决:

  1. 拆分原来的导入行,将JSONField单独从正确路径导入:
    from django.db.models import Q, Count, F
    from django.db.models.fields.json import JSONField
    
  2. 保存文件后重新运行python3 manage.py runserver,这个错误应该就会消失了。

如果之后你计划把Django版本升级到3.1或更高版本,那时候就可以改回原来的导入方式:from django.db.models import Q, Count, F, JSONField,不需要再单独导入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:16:25