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

Django应用部署到Heroku后报错relation api_task不存在如何解决?

错误排查与解决方案

该错误的核心原因为Heroku部署环境中的Django项目未完成数据库迁移,导致api_task对应的数据表未被创建,具体排查与解决步骤如下:

排查步骤

  • 确认api应用已在项目settings.py的INSTALLED_APPS列表中完成注册,未注册的应用不会被Django纳入迁移生成范围,也就不会创建对应数据表。
  • 检查api应用目录下的migrations文件夹,确认已生成包含Task模型创建逻辑的迁移文件(通常为0001_initial.py格式的文件)。
  • 确认你未将migrations目录加入.gitignore配置,推送到Heroku的代码需要包含完整的迁移文件才能执行迁移操作。
  • 执行heroku run python manage.py showmigrations,查看Heroku环境中api应用的迁移状态,确认对应迁移是否未被执行。
  • 确认Heroku已正确绑定Postgres数据库插件,且项目settings.py中的生产环境数据库配置未硬编码本地数据库连接信息。

解决方法

  1. 本地完成迁移生成:
    本地环境执行如下命令生成迁移文件,并测试功能正常:
    python manage.py makemigrations
    python manage.py migrate
    
    将生成的迁移文件提交到Git仓库后,推送到Heroku。
  2. 执行Heroku环境迁移:
    手动执行如下命令在Heroku服务器上完成数据库迁移:
    heroku run python manage.py migrate
    
    也可以在项目根目录的Procfile中添加release命令,实现每次推送代码后自动执行迁移:
    release: python manage.py migrate
    
  3. 修正前端请求配置:
    你当前Ajax代码中的请求地址硬编码为本地地址http://127.0.0.1:8000,部署到生产环境后需要将请求域名替换为你的Heroku应用域名,否则接口调用会失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:42:01