From 94b5975afaa49795bcf87c9155a30f6c20c23e69 Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Wed, 7 Oct 2015 17:33:11 +0100 Subject: [PATCH] Document the new image/document queryset search method --- docs/topics/search/searching.rst | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/docs/topics/search/searching.rst b/docs/topics/search/searching.rst index 6475855c49..2877384ffe 100644 --- a/docs/topics/search/searching.rst +++ b/docs/topics/search/searching.rst @@ -111,30 +111,37 @@ This functionality is provided by the :mod:`~wagtail.contrib.wagtailsearchpromot Searching Images, Documents and custom models ============================================= -You can search these by using the ``search`` method on the search backend: +Wagtail's document and image models provide a ``search`` method on their QuerySets, just as pages do: .. code-block:: python >>> from wagtail.wagtailimages.models import Image + + >>> Image.objects.filter(uploaded_by_user=user).search("Hello") + [, ] + + +:ref:`Custom models ` can be searched by using the ``search`` method on the search backend directly: + +.. code-block:: python + + >>> from myapp.models import Book >>> from wagtail.wagtailsearch.backends import get_search_backend - # Search images + # Search books >>> s = get_search_backend() - >>> s.search("Hello", Image) - [, ] + >>> s.search("Great", Book) + [, ] You can also pass a QuerySet into the ``search`` method which allows you to add filters to your search results: .. code-block:: python - >>> from wagtail.wagtailimages.models import Image + >>> from myapp.models import Book >>> from wagtail.wagtailsearch.backends import get_search_backend - # Search images + # Search books >>> s = get_search_backend() - >>> s.search("Hello", Image.objects.filter(uploaded_by_user=user)) - [] - - -This should work the same way for Documents and :ref:`custom models ` as well. + >>> s.search("Great", Book.objects.filter(published_date__year__lt=1900)) + []