def last(self):
        """
        Returns the last object matched or None if there is no
        matching object.
        ::
                
            >>> iterator = Host.objects.iterator()
            >>> c = iterator.filter('kali')
            >>> if c.exists():
            >>>    print(c.last())
            Host(name=kali-foo)
        
        :return: element or None
        """
        if len(self):
            self._params.update(limit=1)
            if 'filter' not in self._params:
                return list(self)[-1]
            else: # Filter may not return results
                result = list(self)
                if result:
                    return result[-1]