django python - 关系不存在

django python - relation does not exist

我是 运行ning django 1.7 & python 2.7.

在我的 postgressql 数据库中,我有一些多余的 tables。我现在相信,在我升级到 django 1.7 之前,一段时间前我更改了许多 tables 的名称时,多余的 tables 变得多余了。多余的 table 个名称中没有任何数据。

在我检查了我的迁移并在我的项目中搜索多余的 table 名称并没有找到任何参考之后,我 deleted/droped tables.

我可以更新现有记录并添加新记录,但删除 table 后,我无法删除现有记录。

现有且正确的 table 名称是 core_namedetails。这是存储所有用户名详细信息的 table。

我在 postgressql 数据库中删除的 table 是 core_resume_name_details

这是我在尝试从 core_namedetails 中删除记录时遇到的错误:

ProgrammingError at /resume_details/name_details/delete/251/
relation "core_resume_name_details" does not exist
LINE 1: DELETE FROM "core_resume_name_details" WHERE "core_resume_na...
                    ^
Request Method: GET
Request URL:    http://127.0.0.1:8000/resume_details/name_details/delete/251/
Django Version: 1.7.2
Exception Type: ProgrammingError
Exception Value:    
relation "core_resume_name_details" does not exist
LINE 1: DELETE FROM "core_resume_name_details" WHERE "core_resume_na...

我有 运行 makemigrationsmigrate。没有问题返回。

我已经搜索了 google & SO,但我没有找到任何可以说明我的错误的东西。

有没有人能解决这个问题?

问题是您的模型正在寻找 core_resume_name_details table。可能您在将此 table 重命名为 core_name_details 时迷路了。 解决方案 - 将 db_table = 'core_namedetails' 添加到模型的元数据中,或者将 table core_namedetails 重命名为 core_resume_name_details

问题是迁移文件损坏。我最终追踪到损坏的文件并修复了有问题的代码行。

希望这对某人有所帮助。