在django中是否有类似rails的试用版?
在Rails中,当您不确定对象是否存在时,可以调用try在django中是否有类似rails的试用版?,django,Django,在Rails中,当您不确定对象是否存在时,可以调用try def method(foo) foo.try(:bar) end 如果foo存在,它将调用foo.bar,如果不存在,它将返回nil。Django有类似的机制吗?没有。您必须捕获异常并返回None: def method(foo): try: return foo.bar except (TypeError, AttributeError): return None 或者,可以使用
def method(foo)
foo.try(:bar)
end
如果
foo
存在,它将调用foo.bar
,如果不存在,它将返回nil
。Django有类似的机制吗?没有。您必须捕获异常并返回None
:
def method(foo):
try:
return foo.bar
except (TypeError, AttributeError):
return None
或者,可以使用以下方法检查给定对象是否具有该属性:
我想这应该行得通
def method(foo):
return foo.bar if foo and hasattr(foo, 'bar') else None
def method(foo):
return foo.bar if foo and hasattr(foo, 'bar') else None