Много хороших ответов уже было дано, но я хотел бы указать на Вас на альтернативный кэш кода операции, названный XCache. Это создается lighty участником.
кроме того, если Вам, возможно, понадобится выравнивание нагрузки Ваш сервер базы данных в будущем, , MySQL Proxy мог бы очень хорошо помочь Вам достигнуть этого.
Оба из тех инструментов должны включить существующее приложение довольно легко, таким образом, эта оптимизация может быть сделана при необходимости в ней без слишком большого количества стычки.
Выглядит интересно. Однако я говорил об использовании этого QuerySet в админке. Нашел ответ, см. Ниже:
class MyAdmin(admin.ModelAdmin):
def changelist_view(self, request, extra_context=None):
from django.contrib.admin.views.main import ChangeList
cl = ChangeList(request, self.model, self.list_display, self.list_display_links, self.list_filter, self.date_hierarchy, self.search_fields, self.list_select_related, self.list_per_page, self.list_editable, self)
# getting query set with same filters like current change list
filtered_query_set = cl.get_query_set()