Summary
But, why is the admin slow?
This is the general outline I'm working from so far. I think this could change slightly as I develop the talk, but this outline conveys the general theme.
Introduction and display of basic django-debug-toolbar usage (2 min)
Things the admin does well (3 min)
Makes development very fast For many use cases, it "does the right thing" automatically. For example, modifying the HTML in a callable won't cause new queries. What can sneak up on you (5 min)
Having lots of related items visible in the list view Using list_select_related Overriding queryset for additional select_related and prefetch_related options What to avoid in callables (3 min)
Queries that will be executed on every row The default widgets for many-to-many and foreign key fields (3 min)
What widgets to use to replace the defaults based on how many options you have in your database Custom aggregates in the list view (i.e. custom querysets) (3 min)
When this is a good idea When this is too slow and you need other options More general performance improvements through caching (3-5 min)
Django's caching framework Caching with third-party packages / tools Custom caching with Redis Questions (Remaining time)