#27774 closed Uncategorized (invalid)
django admin with many objects count is very slow
| Reported by: | Sayid Munawar | Owned by: | nobody |
|---|---|---|---|
| Component: | contrib.admin | Version: | 1.11 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | yes |
Description
Django version 1.11a1
i created many (thousands) objects:
...: count = 500 ...: for x in range(0, count): ...: print(Group.objects.create(name=usr())) marmut_jahat_4230 hamster_harum_1454 ... kertas_bangga_8357 ular_semangat_5998 In [10]: Group.objects.count() Out[10]: 4265
Then go to Admin->Groups, and click one of them. The page will be rendered very slow compared to django 1.10. See screenshots:
Django 1.10
Django 1.11a
Django 2.0-dev
Change History (6)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Hi Tim, i don't know how to write a test for this case. i just using git prev / next around commits in that ticket. And i found this commit
commit b52c73008a9d67e9ddbb841872dc15cdd3d6ee01
Author: Preston Timmons <prestontimmons@gmail.com>
Date: Tue Dec 27 17:00:56 2016 -0500
Fixed #15667 -- Added template-based widget rendering.
will make the render slow. on the commit before that (51cde87... Fixed #27648 -- Deprecated (iLmsu) regex groups in url() patterns) the render still very fast. I know there should be more processing from template based widget rendering. but this is just too much
In another test with django-treebeard admin page, the amount of time to render its admin page is 30 seconds. it's just unacceptable
comment:3 by , 9 years ago
Does using the cached template loader (https://docs.djangoproject.com/en/dev/ref/templates/api/#django.template.loaders.cached.Loader) make a big difference here?
comment:4 by , 9 years ago
Hi Claude Paroz, the django template cached loader makes no big difference. still around 2 seconds to render a page. In my admin page which render admin page for django-treebeard, the cached loader makes no difference too. Maybe there is another issue from django-treebeard, idk. one thing for sure is that it was fine when using django 1.10, though it will take seconds to render a tree (django-treebeard, MP_Node) from thousands objects. But when using django 1.11alpha, the page is loading forever, no response.
comment:5 by , 9 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
This isn't an issue in Django but rather caused if the Templates panel in the debug toolbar is enabled. I've filed an issue in its issue tracker.
comment:6 by , 9 years ago
disabling template analysis panel in django-debug-toolbar make my admin page fast again. sorry didn't try that before



That might be due to template-based widget rendering (#15667). Can you bisect to find the commit where the behavior changed?