django.db.utils.ProgrammingError:关系“ auth_user”不存在-django 2.0.2

时间:2018-09-09 17:57:57

标签: python django

我已经在Google上针对此问题尝试了所有最佳结果的解决方案;他们都不适合我的情况:

  1. 在`python manage.py migration之前做python manage.py migrate auth无效(相同错误)

  2. 将我模型中所有对“ auth.User”的引用都更改为AUTH_USER_MODEL无效(相同错误),get_user_model()也没有(makemigrations仍未检测到更改)

  3. 执行python manage.py makemigrations [app_with_user_relation]也不起作用(进行了迁移,但仍然出现相同的错误)

  4. 已多次删除并重新创建数据库

有人有什么新建议吗?

我听说降级到Django 1.7可能可行,但这对我来说不是一个选择。

如果有人好奇,我尝试迁移的应用是powerdns,来自开源软件包django-powerdns-manager。

完整追溯:https://dpaste.de/JdT5

失败的迁移:https://dpaste.de/rfUn

自定义数据库路由器:https://github.com/mike-johnson-jr/django-powerdns-manager/blob/master/src/powerdns_manager/routers.py

1 个答案:

答案 0 :(得分:1)

自定义数据库路由器将带有应用标签“ auth”的迁移路由到我的默认数据库,而不是我的powerdns数据库。因此,powerdns正在对另一个数据库进行外键引用,而在postgresql和mysql中,只有sqlite是不可能的。在mysql中,错误将为“无法创建外键约束”

您可以仅使用1个数据库或同时使用sqlite来解决此错误。