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

Django开发中SQLite3 'no such a column'错误的实用方案咨询

Django "no such column" 迁移问题实用解决方案
  • 明确指定应用执行迁移命令
    执行迁移时务必指定目标应用,避免多应用场景下迁移未生成或未应用:

    python manage.py makemigrations your_app_name
    python manage.py migrate your_app_name
    

    执行后查看终端输出,确认是否出现「Applying [app_name].[migration_version]... OK」的提示,无此提示说明迁移未生效。

  • 校验迁移状态并修复历史不一致
    用以下命令查看所有迁移的应用状态,未应用的迁移前不会显示[X]标记:

    python manage.py showmigrations
    

    若迁移文件存在但数据库未同步,可重置该应用的迁移历史后重新执行:

    python manage.py migrate --fake your_app_name zero
    python manage.py makemigrations your_app_name
    python manage.py migrate your_app_name
    

    注意:--fake仅修改Django的迁移历史记录,不会改动数据库实际结构,执行前需确认当前数据库结构与Model的差异。

  • 核对Model与迁移文件的一致性
    检查自动生成的迁移文件(如0002_xxx.py),确认其中包含你对Model的修改(比如新增字段、修改字段类型等)。禁止手动修改迁移文件,若文件异常,删除后重新执行makemigrations生成。

  • 清理缓存并重启服务
    Django Admin可能缓存旧的Model结构,执行以下命令清除缓存后重启服务:

    python manage.py clearcache
    
  • 排查数据库配置与权限
    若使用非SQLite3数据库,需确认数据库用户拥有修改表结构的权限;同时检查settings.py中的DATABASES配置,确保连接的是目标数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 21:28:11