From 5049ff14cff1c5442e0765bf44286b68f09051d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sascha=20I=C3=9Fbr=C3=BCcker?= Date: Mon, 20 Feb 2023 22:49:08 +0100 Subject: [PATCH] Make search case-insensitive on Postgres (#432) --- bookmarks/queries.py | 10 +++++----- bookmarks/tests/test_queries.py | 8 ++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/bookmarks/queries.py b/bookmarks/queries.py index 05fa954..30cca26 100644 --- a/bookmarks/queries.py +++ b/bookmarks/queries.py @@ -36,11 +36,11 @@ def _base_bookmarks_query(user: Optional[User], query_string: str) -> QuerySet: # Filter for search terms and tags for term in query['search_terms']: query_set = query_set.filter( - Q(title__contains=term) - | Q(description__contains=term) - | Q(website_title__contains=term) - | Q(website_description__contains=term) - | Q(url__contains=term) + Q(title__icontains=term) + | Q(description__icontains=term) + | Q(website_title__icontains=term) + | Q(website_description__icontains=term) + | Q(url__icontains=term) ) for tag_name in query['tag_names']: diff --git a/bookmarks/tests/test_queries.py b/bookmarks/tests/test_queries.py index 8b3ed36..ea8c18b 100644 --- a/bookmarks/tests/test_queries.py +++ b/bookmarks/tests/test_queries.py @@ -27,9 +27,13 @@ class QueriesTestCase(TestCase, BookmarkFactoryMixin): self.term1_bookmarks = [ self.setup_bookmark(url='http://example.com/term1'), self.setup_bookmark(title=random_sentence(including_word='term1')), + self.setup_bookmark(title=random_sentence(including_word='TERM1')), self.setup_bookmark(description=random_sentence(including_word='term1')), + self.setup_bookmark(description=random_sentence(including_word='TERM1')), self.setup_bookmark(website_title=random_sentence(including_word='term1')), + self.setup_bookmark(website_title=random_sentence(including_word='TERM1')), self.setup_bookmark(website_description=random_sentence(including_word='term1')), + self.setup_bookmark(website_description=random_sentence(including_word='TERM1')), ] self.term1_term2_bookmarks = [ self.setup_bookmark(url='http://example.com/term1/term2'), @@ -76,9 +80,13 @@ class QueriesTestCase(TestCase, BookmarkFactoryMixin): self.term1_bookmarks = [ self.setup_bookmark(url='http://example.com/term1', tags=[self.setup_tag()]), self.setup_bookmark(title=random_sentence(including_word='term1'), tags=[self.setup_tag()]), + self.setup_bookmark(title=random_sentence(including_word='TERM1'), tags=[self.setup_tag()]), self.setup_bookmark(description=random_sentence(including_word='term1'), tags=[self.setup_tag()]), + self.setup_bookmark(description=random_sentence(including_word='TERM1'), tags=[self.setup_tag()]), self.setup_bookmark(website_title=random_sentence(including_word='term1'), tags=[self.setup_tag()]), + self.setup_bookmark(website_title=random_sentence(including_word='TERM1'), tags=[self.setup_tag()]), self.setup_bookmark(website_description=random_sentence(including_word='term1'), tags=[self.setup_tag()]), + self.setup_bookmark(website_description=random_sentence(including_word='TERM1'), tags=[self.setup_tag()]), ] self.term1_term2_bookmarks = [ self.setup_bookmark(url='http://example.com/term1/term2', tags=[self.setup_tag()]),