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)) + []