打开“管理”选项卡时出现编程错误

2024-06-16 10:33:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用django和postgres数据库。 当加载管理员时,点击课程表,我得到一个典型的错误:

ProgrammingError at /admin/user_profile/course/
relation "user_profile_course" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "user_profile_course"

我尝试了makemigrations,并再次迁移它,但没有成功。在

你能帮我怎么处理吗?在

我的模型.py看起来像:

^{pr2}$

编辑:

我删除了迁移文件夹,然后再次进行迁移。 在0001初始.py依赖关系看起来像:

dependencies = [
    ('auth', '0007_alter_validators_add_error_messages'),
]

Tags: djangopy数据库admin管理员错误postgresprofile
1条回答
网友
1楼 · 发布于 2024-06-16 10:33:28

看起来您已经从migrations文件夹中删除了已经应用的迁移,并用不同的模型状态重新创建了它(使用额外的模型Course)。在

当数据库的实际结构和应用迁移后的状态不同时,就会出现这种情况。在

现在,您既可以修复迁移,也可以修复数据库结构。在

要完成第一个可能的修复,您需要检查数据库的当前状态,并将其与迁移文件进行比较。如果迁移文件中有不同的内容,只需更改它以反映您的数据库结构。在

如果不知道如何编辑迁移文件,可以更改模型以反映数据库结构,删除迁移,然后使用makemigrations再次创建它。在

修复迁移文件后,生成第二个迁移文件,只需运行makemigrations,在模型文件中具有所需的模型结构。在

对于第二种解决方案,请检查迁移文件中的内容并编辑数据库结构以反映这一点。在

请记住,不要删除或更改已经应用的迁移,除非您真的知道自己在做什么!在

相关问题 更多 >