今天写了一个递归 return 之前答应出来都是有值的, 调用时候返回值都是None ,很是纳闷 后来找到原因
现在来看下返回None 的代码
def get_end_parent_ele(self, obj):
"""获取这个id 所在的原始类"""
parent_id = obj.parent_id if obj else 0
OHHOLog.print_log("获取这个id parent_id")
OHHOLog.print_log(parent_id)
parent_obj = self.obj_obj.get_by_id(parent_id)
if parent_obj.key == "all":
OHHOLog.print_log("all")
return_key = obj.key
OHHOLog.print_log(return_key)
return return_key
else:
self.get_end_parent_ele(parent_obj)
修改将下面的也给返回
def get_end_parent_ele(self, obj):
"""获取这个id 所在的原始类"""
parent_id = obj.parent_id if obj else 0
OHHOLog.print_log("获取这个id parent_id")
OHHOLog.print_log(parent_id)
parent_obj = self.interest.get_by_id(parent_id)
if parent_obj.key == "all":
OHHOLog.print_log("all")
return_key = obj.key
OHHOLog.print_log(return_key)
return return_key
else:
return self.get_end_parent_ele(parent_obj)
没有return的时候数据只能进不能出所以就只能返回None