如果我有字典,这可以正常使用
value = d.get(key, "empty")
但如果d
是我django model object
,那么我会得到这个
对象没有属性' get'
我该如何解决这个问题。我希望像dict一样的行为如果键不存在则变空
答案 0 :(得分:6)
使用getattr()
:
value = getattr(d, key, "empty")
另一种选择是直接访问对象的__dict__
:
value = d.__dict__.get(key, "empty")
但我建议使用getattr()
。
更新:请注意,getattr(some_dict, key)
与some_dict.get(key)
不同。 getattr()
获取对象的属性,但不获取dict的值。