AttributeError:“ DatabaseWrapper”对象没有属性“ set_schema_to_public”(tenat_schemas)

时间:2018-07-18 17:59:09

标签: django docker heroku multi-tenant

我正在使用Django + tenant_schemas,我的应用程序的本地版本运行良好。但是,当我尝试将其推向暂存(Heroku + Docker)时,出现以下错误:

  

AttributeError::“ DatabaseWrapper”对象没有属性   'set_schema_to_public'(tenat_schemas)。

代码指向:

tenant_schemas/middleware.py in process_request at line 46:

   connection.set_schema_to_public()

我不知道为什么会出现此错误。任何建议将不胜感激。谢谢

2 个答案:

答案 0 :(得分:1)

在没有更多信息的情况下很难回答这个问题,但是问题的原因可能是您试图在Heroku上使用sqlite。当您尝试将sqlite后端与pgsql包装器(或mysql)一起使用时,抛出此错误。如果还没有,请检查configuration guide for Django apps on Heroku。如果您从settings.py中发布相关部分(请删除秘密,请!)和您的Procfile,为解决方案提供更多帮助将更加容易。

答案 1 :(得分:0)

我的问题是我已按照 docs 中的说明在我的数据库引擎中使用了 django.db.backends.postgresql_psycopg2 而不是 django_tenants.postgresql_backend