如果我有字典,这很好用
value = d.get(key, "empty")
但是如果 d 是我的 django 模型对象 那么我得到这个
object has no attribute 'get'
我该如何解决。如果 key 不存在,我希望具有与 dict 相同的行为以变空
请您参考如下方法:
使用getattr():
value = getattr(d, key, "empty")
另一种选择是直接访问对象的__dict__:
value = d.__dict__.get(key, "empty")
但我建议使用getattr()。
更新:请注意,getattr(some_dict, key) 与 some_dict.get(key) 不同。 getattr() 获取对象的属性,但不是字典的值。
