我正在使用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()
我不知道为什么会出现此错误。任何建议将不胜感激。谢谢
答案 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
。