QuerySet evaluation docs are out of date
The docs for QuerySet contain a reference to partial evaluation of queryset and a warning that explicitly calling list(qs) requires more memory than just iterating over a queryset.
As far as I can see, anytime a QuerySet is evaluated, all results are pulled from the database at once, stored in _result_cache and most list-like operations are simply proxied to this cache. This means that there is no partial evaluation going on anymore, and list(qs) simply creates a shallow copy of qs._result_cache.
Change History
(7)
| Triage Stage: |
Unreviewed → Accepted
|
| Type: |
Uncategorized → Bug
|
| Triage Stage: |
Accepted → Ready for checkin
|
| Resolution: |
→ fixed
|
| Status: |
new → closed
|
I created a simple pull request (https://github.com/django/django/pull/3507) as well and while I was in there, I also added a note regarding #22503. If anyone wants to suggest a different wording, no problem.