首页 > 解决方案 > psycopg2.errors.UndefinedTable:关系“sso_server_consumer”不存在

问题描述

我正在努力将 Django-Simple-SSO 实施到我们基于 python 的平台上。我正在关注此博客以实现 SSO:

https://medium.com/@MicroPyramid/django-single-sign-on-sso-to-multiple-applications-64637da015f4

此代码是 django-simple-sso 的服务器端的第 3 步。

    from simple_sso.sso_server.models import Token, Consumer

    Consumer.objects.create(public_key='your_application_public_key', private_key='your_application_private_key', name='your_application_name')

psycopg2.errors.UndefinedTable: 关系“sso_server_consumer”不存在——这是我在 django shell 中运行上述代码时遇到的错误。有人可以帮我解决这个错误吗?

我已经运行了makemigrationsmigrate命令。但是,仍然得到同样的错误。

我可以Consumers在 django-admin 页面的标题下看到表格SSO_SERVER。但是,当我单击该Consumers表时,我收到此错误页面:

ProgrammingError at /admin/sso_server/consumer/
relation "sso_server_consumer" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "sso_server_consumer"

还有为什么要Token进口?因为该 sso 博客文章中的任何地方都没有使用它。

谢谢

标签: pythondjangosingle-sign-onpsycopg2

解决方案


我也发生了同样的事情。我的错误是在集成 postgreSQL 后我没有运行迁移。设置好 postgreSQL 数据库后,运行以下两个命令:

python manage.py makemigrations
python manage.py migrate

对模型进行更改后,您想再次运行这两个命令:

python manage.py makemigrations
python manage.py migrate --run-syncdb

它对我有用,希望它对你有用。

一切顺利!!!


推荐阅读