From 142647ca0bdfbaac935c2d4cf9a40d475ded31cb Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Fri, 9 Oct 2015 21:10:25 +0100 Subject: [PATCH] Update frontend search to use queryset-based search method - fixes #1808 --- wagtail/wagtailsearch/views/frontend.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/wagtail/wagtailsearch/views/frontend.py b/wagtail/wagtailsearch/views/frontend.py index d551863e45..f2a4c6557d 100644 --- a/wagtail/wagtailsearch/views/frontend.py +++ b/wagtail/wagtailsearch/views/frontend.py @@ -38,13 +38,18 @@ def search( # Search if query_string != '': - search_results = models.Page.search( - query_string, - show_unpublished=show_unpublished, - search_title_only=search_title_only, - extra_filters=extra_filters, - path=path if path else request.site.root_page.path - ) + pages = models.Page.objects.filter(path__startswith=(path or request.site.root_page.path)) + + if not show_unpublished: + pages = pages.live() + + if extra_filters: + pages = pages.filter(**extra_filters) + + if search_title_only: + search_results = pages.search(query_string, fields=['title']) + else: + search_results = pages.search(query_string) # Get query object query = Query.get(query_string)