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.