/ api / accounts / relation中的ProgrammingError不存在

时间:2017-09-28 19:39:31

标签: django postgresql django-rest-framework

我在Windows 10上有这个django应用程序

  • python 3.6.2
  • django 1.11.5
  • djangorest 3.6.4
  • postgreSql 9.6

我在帐户应用中使用自定义用户模型(AppUser),我有 AUTH_USER_MODEL =' accounts.AppUser' in我的设置文件。

我按照各种来源的建议顺序迁移

  1. migrate auth
  2. migrate accounts
  3. migrate迁移所有其他应用
  4. 迁移成功如预期。当我尝试通过可浏览的api

    访问api时,问题就开始了
      

    / api / accounts /中的ProgrammingError   关系" accounts_appuser"不存在   第1行:SELECT COUNT(*)AS" __ count" FROM" accounts_appuser"在哪里"

    我已经删除了再次创建迁移的所有.pyc个文件并收到了同样的错误。通过一遍又一遍地尝试迁移报告的过程

      

    无需迁移

    我开始认为问题来自postgre

3 个答案:

答案 0 :(得分:2)

该错误表明帐户应用中AppUser模型的数据库表不存在。

我认为这里的问题可能是您在帐户应用上haven't run the makemigrations mgmt command创建了迁移,而后者又会创建数据库表。例如:

python manage.py makemigrations accounts

您可能也希望为整个应用运行makemigrations

答案 1 :(得分:0)

我做了几件事,但不确定哪一个工作

首先我重新安装了postgre

他们按此顺序手动应用迁移,auth,帐户,然后在已安装的应用中依次应用其他所有

然后我尝试了可浏览的api及其工作。

我也意识到即使你没有使用它也必须保留你的设置文件

答案 2 :(得分:0)

就我而言,我有类似的问题。原因是我忘记了将我的应用程序注册到settings.py。如果您忘记注册应用程序,请进行迁移,并且迁移不会识别任何错误。您会收到消息

No migrations to apply

请确保您已将应用程序注册到settings.file INSTALLED APPS。

INSTALLED_APPS = [
 -----HERE----
]