def __iter__(self):
        self._fetch_all()
        return iter(self._result_cache)
The queryset iterator protocol uses three nested iterators in the
dataset/ETHPy150Open django/django/django/db/models/query.py/QuerySet.__iter__