在调用方法期间接收 DeferredAttribute 而不是值

Receives DeferredAttribute instead of value during calling method

我正在尝试调用以下方法:

def get_tenant_model():
    return get_model(settings.TENANT_MODEL)

设置中的租户模型:

TENANT_MODEL = "app.Client"

在这个地方:

    a = get_tenant_model()
    print(a.name)

我得到:

<django.db.models.query_utils.DeferredAttribute object at 0x7f0cf7d746a0>

为什么我无法获取客户名称?

a.name指的是特定模型实例的名称。即某些特定客户的名称可能是 "Bob Smith".

但您不是在寻找特定客户的姓名;而是在寻找特定客户的姓名。您想要 模型本身的 class 名称

改用a.__name__