Postgres数据库错误:关系不存在(Postgres Database Error: relat

2019-06-24 01:06发布

我固定的一些问题与遗留系统和已运行到,我惊讶的是不是越早抓住了一个障碍。 我运行的Django 1.3和使用运行此应用程序的Postgres 9.1.3。 该系统是用户使用系统的其余部分验证系统。 它使用Django的用户界面的一部分,但主要是它有它自己的“用户”。

我的问题一起,当我尝试给用户帐户问题(类似的,如果你忘记了密码的网站)来。 当我尝试这样做,它抛出这个错误:

Database Error at admin/password/user

relation "password_user_answered_questions_id_s" does not exist
LINE 1: SELECT CURRVAL('"password_user_quest...
              ^

有谁知道什么可能导致这个错误? 我曾尝试重置分贝(没想到它会做什么,但只是想确认)并且还使用phpPgAdmin的戳在db四周,发现其他一切都得到正确保存,除了这一个。 分配时,它使用的是多对多字段,以便用户可以有多个问题,问题可以由多个用户使用。

Answer 1:

究其原因是最有可能的是,

关于“password_user_answered_questions_id_s”不存在

就像错误信息告诉我们。 你知道如何PostgreSQL的处理标识 ?

此外,序列通常命名为* _seq。 从信件到底缺少什么?


关于标识符的最大长度 -我引用从上面的链接的手册:

该系统使用不超过NAMEDATALEN-1字节的标识符的多; 更长的名称可以在命令中写的, 但它们会被截断 。 默认情况下,NAMEDATALEN是64,因此标识符最大长度是63个字节。 如果这个限制是有问题的,它可以通过将src改变NAMEDATALEN来/包含/ pg_config_manual.h。

大胆重点煤矿。 好像你应该缩短您的标识符位。



Answer 2:

问题是你有没有同步您的数据库,我猜。 请执行以下命令:

  1. python manage.py makemigrations myappname
  2. python manage.py migrate myappname


文章来源: Postgres Database Error: relation does not exist