def _get_sub_obj_recurse(self, obj, s):
        rel, _, s = s.partition(LOOKUP_SEP)
        try:
            node = getattr(obj, rel)
        except __HOLE__:
            return None
        if s:
            child = self._get_sub_obj_recurse(node, s)
            return child
        else:
            return node
dataset/ETHPy150Open carljm/django-model-utils/model_utils/managers.py/InheritanceQuerySetMixin._get_sub_obj_recurse