Opened 10 years ago

Last modified 9 years ago

#23623 closed Cleanup/optimization

ModelChoiceField generates unused temporary cache — at Initial Version

Reported by: Thomas C Owned by: nobody
Component: Forms Version: dev
Severity: Normal Keywords: ModelChoiceField, admin
Cc: Triage Stage: Unreviewed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

There is a huge memory consumption when using some admin pages with big production datasets (see also https://groups.google.com/forum/#!topic/django-users/YYlLWyBH_go).

I looked into the ModelChoiceIterator used to generate the choices for a ModelChoiceField, and noticed that a temporary queryset cache was generated.

With the proposed PR, this cache is no longer generated. After applying the patch, I noticed that the maximum memory usage dropped from ~200MB to ~150MB for a model with about 30 000 instances.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top