From bece8ca86ee87359518f08ea163a233622b7507b Mon Sep 17 00:00:00 2001 From: Eric Drechsel Date: Tue, 27 Jan 2015 14:38:24 -0800 Subject: [PATCH 1/5] add an example of indexing related model fields --- docs/core_components/search/indexing.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/core_components/search/indexing.rst b/docs/core_components/search/indexing.rst index f4149a19c7..88b0e99cfe 100644 --- a/docs/core_components/search/indexing.rst +++ b/docs/core_components/search/indexing.rst @@ -154,6 +154,21 @@ One use for this is indexing ``get_*_display`` methods Django creates automatica index.FilterField('is_private'), ) +Callables also provide a way to index fields from related models. In the example from :ref:`inline_panels`, to index each BookPage by the titles of its related_links: + +.. code-block:: python + + class BookPage(Page): + ... + + def get_related_link_titles(self): + # Get list of titles and concatenate them + return '\n'.join(self.related_links.values_list('text', flat=True)) + + search_fields = Page.search_fields + [ + ... + index.SearchField('get_related_link_titles'), + ] .. _wagtailsearch_indexing_models: From 1aa0285bf44c1ceef06d8ef7275597e414ca8e28 Mon Sep 17 00:00:00 2001 From: Eric Drechsel Date: Tue, 27 Jan 2015 14:41:13 -0800 Subject: [PATCH 2/5] copy paste typo --- docs/core_components/search/indexing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core_components/search/indexing.rst b/docs/core_components/search/indexing.rst index 88b0e99cfe..2a699c88c1 100644 --- a/docs/core_components/search/indexing.rst +++ b/docs/core_components/search/indexing.rst @@ -163,7 +163,7 @@ Callables also provide a way to index fields from related models. In the example def get_related_link_titles(self): # Get list of titles and concatenate them - return '\n'.join(self.related_links.values_list('text', flat=True)) + return '\n'.join(self.related_links.values_list('title', flat=True)) search_fields = Page.search_fields + [ ... From 8374ec4df7863b776d0a2fb646077240fab1ff07 Mon Sep 17 00:00:00 2001 From: Eric Drechsel Date: Tue, 27 Jan 2015 14:42:06 -0800 Subject: [PATCH 3/5] fix whitespace --- docs/core_components/search/indexing.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/core_components/search/indexing.rst b/docs/core_components/search/indexing.rst index 2a699c88c1..0fe9ccaed0 100644 --- a/docs/core_components/search/indexing.rst +++ b/docs/core_components/search/indexing.rst @@ -159,16 +159,16 @@ Callables also provide a way to index fields from related models. In the example .. code-block:: python class BookPage(Page): - ... - - def get_related_link_titles(self): - # Get list of titles and concatenate them - return '\n'.join(self.related_links.values_list('title', flat=True)) - - search_fields = Page.search_fields + [ ... - index.SearchField('get_related_link_titles'), - ] + + def get_related_link_titles(self): + # Get list of titles and concatenate them + return '\n'.join(self.related_links.values_list('title', flat=True)) + + search_fields = Page.search_fields + [ + ... + index.SearchField('get_related_link_titles'), + ] .. _wagtailsearch_indexing_models: From 02457685b38816705b0df120e2b8917bc7b0287b Mon Sep 17 00:00:00 2001 From: Eric Drechsel Date: Tue, 27 Jan 2015 14:44:20 -0800 Subject: [PATCH 4/5] consistent ellipses --- docs/core_components/search/indexing.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/core_components/search/indexing.rst b/docs/core_components/search/indexing.rst index 0fe9ccaed0..3558364f14 100644 --- a/docs/core_components/search/indexing.rst +++ b/docs/core_components/search/indexing.rst @@ -159,14 +159,13 @@ Callables also provide a way to index fields from related models. In the example .. code-block:: python class BookPage(Page): - ... - + # ... def get_related_link_titles(self): # Get list of titles and concatenate them return '\n'.join(self.related_links.values_list('title', flat=True)) search_fields = Page.search_fields + [ - ... + # ... index.SearchField('get_related_link_titles'), ] From 934bba30dea093e9827d41f8f7f18e7f7706f152 Mon Sep 17 00:00:00 2001 From: Eric Drechsel Date: Tue, 27 Jan 2015 15:16:03 -0800 Subject: [PATCH 5/5] turn DeferringManager into QuerySet --- docs/core_components/search/indexing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core_components/search/indexing.rst b/docs/core_components/search/indexing.rst index 3558364f14..b33f0d1316 100644 --- a/docs/core_components/search/indexing.rst +++ b/docs/core_components/search/indexing.rst @@ -162,7 +162,7 @@ Callables also provide a way to index fields from related models. In the example # ... def get_related_link_titles(self): # Get list of titles and concatenate them - return '\n'.join(self.related_links.values_list('title', flat=True)) + return '\n'.join(self.related_links.all().values_list('title', flat=True)) search_fields = Page.search_fields + [ # ...