【问题标题】:Access public schema from tenant schema, Django-Tenant从租户模式访问公共模式,Django-Tenant
【发布时间】:2016-10-30 04:58:52
【问题描述】:
我目前正在将 Django-Tenant-schema 用于多租户应用程序。
使用租户模式时是否可以访问公共模式?
我可以通过这一行从公众访问租户数据库:
with tenant_context(tenant):
但是当我在仅使用tenant_schema 的 django 应用程序中时,我如何才能在我的公共架构中访问我的客户端模型?
谢谢!
【问题讨论】:
标签:
python
django
multi-tenant
【解决方案1】:
好吧,您可以通过将包含您的客户端模型的应用添加到您的 SHARED_APPS 设置中来做到这一点。之后,您可以使用“schema_context”在公共架构下创建用户,如下所示:
from tenant_schemas.utils import schema_context
with schema_context('public'):
# create user
您还可以通过在公共架构中创建超级用户来从公共架构访问您的客户端模型。试试……
$ python manage.py tenant_command createsuperuser --schema=public
然后登录到您的公共租户管理员,您可以通过该管理员在公共架构中完全访问您的客户端模型。
注意:在您的公共架构中创建用户之前,您必须首先使用您的客户端模型创建公共架构,如 https://django-tenants.readthedocs.io/en/latest/use.html#creating-a-tenant 中所述
提示:“shell”命令将帮助您创建架构(公共)。