[Django] #37039: Outdated QuerySet.iterator() documentation

0 views
Skip to first unread message

Django

unread,
1:16 AM (5 hours ago) 1:16 AM
to django-...@googlegroups.com
#37039: Outdated QuerySet.iterator() documentation
-------------------------+------------------------------------------------
Reporter: Lincoln | Type: Cleanup/optimization
Status: new | Component: Documentation
Version: | Severity: Normal
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------+------------------------------------------------
The `QuerySet.iterator()` documentation
(https://docs.djangoproject.com/en/dev/ref/models/querysets/#iterator)
says

> (internally, the default iterator calls iterator() and caches the return
value)

I take "the default iterator" to mean the QuerySet `__iter__()` method.

This does **not** call `iterator()`:

https://github.com/django/django/blob/378481165d14fea4c2a4b7717af3d7bdf9150f08/django/db/models/query.py#L417-L433

It only calls `_fetch_all()`, which as of this change

https://github.com/django/django/commit/f3b7c059367a4e82bbfc7e4f0d42b10975e79f0c
#diff-
d58ef61559dc7af5fdf7b56fee13571a4d2948e784cd608f6afeacf3ac2fb195R1075

no longer calls `iterator()`.

So this line in the documentation is no longer accurate. I think an
appropriate fix would be to simply remove that line of quoted text from
the docs.
--
Ticket URL: <https://code.djangoproject.com/ticket/37039>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
2:07 AM (4 hours ago) 2:07 AM
to django-...@googlegroups.com
#37039: Outdated QuerySet.iterator() documentation
-------------------------------------+-------------------------------------
Reporter: Lincoln | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Documentation | Version:
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by MANAS MADESHIYA):

* cc: MANAS MADESHIYA (added)

--
Ticket URL: <https://code.djangoproject.com/ticket/37039#comment:1>

Django

unread,
5:22 AM (1 hour ago) 5:22 AM
to django-...@googlegroups.com
#37039: Outdated QuerySet.iterator() documentation
--------------------------------------+------------------------------------
Reporter: Lincoln | Owner: (none)
Type: Cleanup/optimization | Status: new
Component: Documentation | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Sarah Boyce):

* stage: Unreviewed => Accepted
* version: => dev

Comment:

Thank you for the ticket and analysis. I agree we can remove the text in
the brackets
--
Ticket URL: <https://code.djangoproject.com/ticket/37039#comment:2>

Django

unread,
5:29 AM (1 hour ago) 5:29 AM
to django-...@googlegroups.com
#37039: Outdated QuerySet.iterator() documentation
-------------------------------------+-------------------------------------
Reporter: Lincoln | Owner: MANAS
Type: | MADESHIYA
Cleanup/optimization | Status: assigned
Component: Documentation | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by MANAS MADESHIYA):

* owner: (none) => MANAS MADESHIYA
* status: new => assigned

--
Ticket URL: <https://code.djangoproject.com/ticket/37039#comment:3>
Reply all
Reply to author
Forward
0 new messages