From 4063573f9c48e035a05321e98a2c89f2c310ceaa Mon Sep 17 00:00:00 2001 From: Ben Sturmfels Date: Fri, 25 Aug 2017 13:01:42 +1000 Subject: [PATCH] Use Page subclass get_admin_display_title() in admin search views. The template changes force the most specific ``get_admin_display_title`` method to be used across all page explorer lists and page choosers in the admin. The view changes should reduce the performance hit in the case of the search views. --- wagtail/wagtailadmin/views/chooser.py | 1 + wagtail/wagtailadmin/views/pages.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/wagtail/wagtailadmin/views/chooser.py b/wagtail/wagtailadmin/views/chooser.py index 42bd089712..39fe4987e7 100644 --- a/wagtail/wagtailadmin/views/chooser.py +++ b/wagtail/wagtailadmin/views/chooser.py @@ -161,6 +161,7 @@ def search(request, parent_page_id=None): depth=1 # never include root ) pages = filter_page_type(pages, desired_classes) + pages = pages.specific() pages = pages.search(search_form.cleaned_data['q'], fields=['title']) else: pages = pages.none() diff --git a/wagtail/wagtailadmin/views/pages.py b/wagtail/wagtailadmin/views/pages.py index b66efe5a1f..ded2012579 100644 --- a/wagtail/wagtailadmin/views/pages.py +++ b/wagtail/wagtailadmin/views/pages.py @@ -874,7 +874,7 @@ def search(request): if form.is_valid(): q = form.cleaned_data['q'] - pages = Page.objects.all().prefetch_related('content_type').search(q) + pages = Page.objects.all().prefetch_related('content_type').specific().search(q) paginator, pages = paginate(request, pages) else: form = SearchForm()