访问当前架构上下文

dor*_*far 1 python django django-models

假设我们有这样的情况:

from django_tenants.utils import schema_context

def do_something(context):
    print("do_something")

def my_callable():
    tenant = "db_tenant"    
    with schema_context(tenant):
        context = {"a": 1, "b": 2}
        do_something(context)

my_callable()
Run Code Online (Sandbox Code Playgroud)

问题是:可以在函数中访问当前租户名称do_something而不将其作为参数传递或将其存储为全局变量

dor*_*far 5

我找到了一个解决方案,但我不知道它是否稳定。因此,可以通过连接访问当前租户名称(或schema_namedjango.db,如下所示:

from django.db import connection

schema_name = connection.schema_name
Run Code Online (Sandbox Code Playgroud)