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

Django报错:pages_posts.title列不存在 模型修改后故障排查

问题:Django模型更新后出现数据库字段不存在错误

修改Posts模型新增title、author、body字段后,访问home.html时出现报错:there is no such column: pages_posts.title,错误位于模板第5行。

解决步骤

1. 生成数据库迁移文件

在项目根目录下执行命令:

python manage.py makemigrations

该命令会根据模型的变化生成对应的迁移脚本,记录需要对数据库执行的修改操作。

2. 应用迁移到数据库

执行命令将迁移脚本的修改同步到数据库:

python manage.py migrate

这一步会在数据库中创建新增的title、author、body字段,让数据库表结构和模型定义保持一致。

3. (可选)处理迁移异常情况

如果执行迁移时出现冲突或错误,可尝试以下操作:

  • 检查migrations目录下的迁移文件,确认是否有重复或错误的迁移记录
  • 若为开发环境且无重要数据,可重置数据库(注意备份数据)后重新执行迁移:
    python manage.py flush
    python manage.py makemigrations
    python manage.py migrate
    

原因说明

Django的模型与数据库表结构是通过迁移机制同步的。修改模型字段后,必须手动执行迁移命令,否则数据库仍保留旧的表结构,查询新字段时就会出现“字段不存在”的错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:02:23