python - 在调用方法期间接收 DeferredAttribute 而不是值
问题描述
我正在尝试调用该方法,如下所示:
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”。
但是您不是在寻找特定客户的名称;你想要模型本身的类名。
改为使用a.__name__
。
推荐阅读
- reactjs - react-select - 为下拉和控制显示不同的文本/标签?
- c# - EF 3.5 to EF 6 Migration?
- java - How to reopen a Hibernate Session after rollback with Apache Tomcat
- mongodb - Mongoose:findOneAndUpdate 预挂钩不起作用
- ruby-on-rails - How to reload instance variables after an ajax call in ruby on rails
- regex - VBA 正则表达式替换循环
- sql-server - 警告 CS0618 分辨率
- linux - GNUPLOT LINUX 值 y 轴靠近图形的每个点
- android - 自定义工具栏未出现在预览选项卡中
- javascript - 将对象数组发送到 vuejs 中的组件