Ah, it's in the list_view. I missed that part. A news site my company
maintains has 16.7k news articles and the list_view loads in under a
second. Have you done anything to modify the product admin? Are you somehow
filtering these items? You could try nuking the product list_display. In
the admin.py file of any app that appears after product in INSTALLED_APPS,
try unregistering the product admin, limiting the list_display to the name
only, and then re-registering it.
from dajngo.contrib import admin
from product.models import Product
from product.admin import ProductOptions
list_display = ('name',)
list_display_links = ('name',)
I just tested this on my localserver and (with only 300 products in the
database) the difference in page load between the two is 2 seconds before
and 0.7s after (5 refreshes). I can't see why this would be affected by the
number of products in the database, but it clearly makes a difference.
If this works for you try adding items back into list_display one at a time
and see what one is causing the problem. I believe "price" and "product
subtypes" are the only thing that could be causing a problem.