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

Django执行migrate后未生成数据库表,添加分类报ProgrammingError如何解决

问题原因&解决方案

你遇到的报错本质是Django ORM读取listings_category表时找不到name字段,结合你提到的表未正确生成的情况,按以下顺序排查即可:

  • 第一步:检查settings.py中INSTALLED_APPS列表,确认listings应用已经被添加进去,Django只会对已注册的应用执行迁移逻辑。
  • 第二步:检查listings应用下的migrations文件夹,除了__init__.py之外,是否有生成对应的迁移文件,打开迁移文件确认是否包含Category模型的建表、字段创建逻辑。如果没有对应内容,删除migrations文件夹下除__init__.py外的所有文件,执行以下命令重新生成指定应用的迁移:
    python manage.py makemigrations listings
    
  • 第三步:执行指定应用的迁移命令,避免全局迁移遗漏:
    python manage.py migrate listings
    
    执行时观察控制台输出,如果有报错直接根据报错内容调整,比如字段约束冲突、数据库权限不足等问题。
  • 第四步:如果还是有问题,大概率是之前的迁移状态和数据库实际状态不一致,开发环境无正式数据的话可以直接删除当前PostgreSQL数据库,重建后重新执行迁移即可。
  • 额外排查点:确认你执行迁移命令和启动shell用的是同一套配置、连接的是同一个PostgreSQL实例,避免因为指定了不同的--settings参数连错数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:45:08