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

Django部署Heroku时出现列不存在与cursor不存在错误如何解决

问题原因&解决方案

1. 核心报错:column home_article.Influencers1_id does not exist 解决

这个错误是本地和Heroku数据库表结构不一致导致的,按以下步骤排查:

  • 确认你重新生成的migrations文件夹下的所有迁移文件已经全部提交到部署分支,推送到Heroku端
  • 手动执行Heroku端迁移命令,不要依赖Heroku自动部署触发的迁移(自动迁移经常会因为配置问题执行失败):
heroku run python manage.py migrate
  • 如果执行完还是有该报错,说明Heroku端数据库残留旧表结构和新模型不匹配,执行以下命令(注意:如果有生产数据请先备份!):
# 重置Heroku端数据库
heroku pg:reset
# 重新执行数据库迁移
heroku run python manage.py migrate
# 如果你有初始数据需要导入,执行完migrate后再执行loaddata命令导入初始数据

2. 报错:cursor "_django_curs_140244460422336_sync_1" does not exist 解决

这个报错90%的情况是上面的字段不存在报错触发的事务中断异常,解决完上面的字段不存在问题后该报错会自动消失。如果解决完上面的问题还是存在该报错,按以下步骤排查:

  • 检查settings.py中数据库配置的ATOMIC_REQUESTS参数是否正确,如果开启了全局事务,异常请求会导致事务中断,后续查询就会报游标不存在的错误
  • 检查你的Article模型里的Influencers1外键字段的命名,Django默认外键会自动加_id后缀,确认你没有手动修改过数据库字段名导致和模型字段名不匹配
  • 检查Admin中你自定义的Article展示字段,确认所有你配置的展示字段、过滤字段、搜索字段都真实存在于当前的Article模型中,没有引用已经删除的字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:06:05