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

时间:2019-05-07 22:20:25

标签: python django database multi-tenant

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

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>

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

1 个答案:

答案 0 :(得分:1)

a.name是指特定模型 instance 的名称​​ column 。即某个特定客户的名称可能是“鲍勃·史密斯”。

但是您不是在寻找特定客户的名称;您需要模型本身的类名

改为使用a.__name__