def get_first_populated_field(self, field_name):
        assert hasattr(self, field_name), "Field name does not exist."
        node = self
        if getattr(node, field_name, None):
            return getattr(node, field_name)
        while not node.is_root():
            node = node.get_parent()
            if getattr(node, field_name, None):
                return getattr(node, field_name)            
        return None
Returns the first non-empty instance of the given field in the 
dataset/ETHPy150Open mazelife/django-scaffold/scaffold/models.py/BaseSection.get_first_populated_field