gpt4 book ai didi

python - 向数据库添加新模型实例时 Django 中的 ProgrammingError,可能出了什么问题?

转载 作者:行者123 更新时间:2023-11-29 12:41:42 25 4
gpt4 key购买 nike

使用 Django 管理面板时,我可以向用户和组添加新实例。我所有的应用程序都一样,除了一个。每当我尝试添加新模型时,resultregistration 这个应用程序总是给我一个 ProgrammingError。例如,此应用程序有一个竞赛模型,其中应存储有关体育比赛的数据。

当我点击“+ 添加”时,我被带到了可以添加新比赛的正确站点。但是,当我按下保存时,我得到:

/admin/resultregistration/competition/add/处的编程错误

关系“resultregistration_competition”的列“competition_category”不存在第 1 行:插入“resultregistration_competition”(“competition_c ...

当然,我假设迁移有问题。但是,我已经运行了 python manage.py makemigrations appname 和 python manage.py migrate appname,并且运行良好。我收到一条消息,指出“未检测到任何更改”和“没有要应用的迁移”。

我已经尝试过发布在 SO 上的解决方案,但没有一个有效。

此错误的一般原因是什么?有谁知道在这种特定情况下可能出了什么问题?如果模型中定义错误,是否会出现此错误?还是一定是迁移问题?

非常感谢!任何帮助将不胜感激。另外,如果有帮助的话,我正在使用 PostgreSQL。

最佳答案

  • 确保您在该特定应用程序的迁移文件夹下有 _ init _.py 文件。
  • 如果您的 models.py 中有任何更改,运行 manage.py makemigrations 总是会生成一个迁移文件

如果没有任何效果并且您的数据库中没有太多数据,最终解决方案是删除该应用程序或项目的所有迁移文件(如果有),在终端中输入“sudo -su postgres”,然后输入“psql” .

删除您的数据库并创建一个新数据库。运行 manage.py makemigrations 检查迁移文件是否已经创建。然后用 manage.py migrate 迁移

关于python - 向数据库添加新模型实例时 Django 中的 ProgrammingError,可能出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46828251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com