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

保存对象后Django出现OperationalError:找不到product_product表

解决Django Admin保存时出现OperationalError: no such table: product_product的问题

嘿,这个问题我之前开发Django项目时也踩过坑!本质原因很明确:你定义了product模型,但数据库里还没生成对应的product_product表(Django默认的表命名规则是「应用名_模型名小写」),导致保存数据时找不到表。

下面是一步步的解决步骤:

  • 第一步:确认应用已注册到项目
    打开项目根目录的settings.py,检查INSTALLED_APPS列表里是否包含你的product应用。根据你的apps.py配置,应该添加'product.apps.ProductConfig'或者直接'product',确保这一行存在,否则Django不会处理该应用的模型迁移。

  • 第二步:生成迁移文件
    打开终端,切换到项目根目录(就是有manage.py的那个文件夹),执行以下命令:

    python manage.py makemigrations product
    

    这个命令会根据你models.py里的product模型,生成对应的数据库迁移脚本文件,存放在product/migrations/目录下。

  • 第三步:执行迁移创建表
    接着执行迁移命令,把脚本应用到数据库,创建实际的表:

    python manage.py migrate product
    

    如果需要迁移所有已注册应用的模型,直接运行python manage.py migrate即可。

  • 额外提示:规范模型命名
    虽然不影响功能,但按照Python的PEP8规范,类名应该采用大驼峰写法,建议把class product(models.Model)改成class Product(models.Model),这样代码可读性更高,也符合社区约定。

做完这些步骤后,再回到Django Admin尝试保存对象,应该就不会再出现这个错误啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 18:02:57