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

《Python Crash Course 2nd ed》Django项目启动报错BigAutoField不存在

报错原因

这个报错和你新增的urls.py配置无关,是Django版本和项目默认主键配置不匹配导致的:
BigAutoField 是Django 3.2版本才正式纳入django.db.models的默认主键类型,如果你本地安装的Django版本低于3.2,同时项目的settings.py中配置了DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField',启动时加载应用模型就会触发这个报错。你新增urls后Django启动时会加载关联的learning_logs应用的models,因此之前没暴露的问题现在触发了。

解决方案

两个方案二选一即可:

  • 方案1:升级Django到兼容版本
    推荐安装长期支持的4.2版本,执行命令:
    pip install --upgrade django==4.2
    
  • 方案2:修改settings.py适配低版本Django
    打开项目根目录下的settings.py文件,找到DEFAULT_AUTO_FIELD配置项,修改为:
    DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
    
    如果找不到这行配置,直接在settings.py末尾添加上面的代码即可。

修改完成后重新执行python manage.py runserver就能正常启动服务了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:54:02