From cdb18ea1575eb370735e3f6ac0ac425dab389ab1 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 5 Mar 2021 10:41:25 +0000 Subject: [PATCH] added company_name as a vector in product search --- products/tests.py | 2 ++ products/utils.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/products/tests.py b/products/tests.py index 392e13f..df78b6d 100644 --- a/products/tests.py +++ b/products/tests.py @@ -519,11 +519,13 @@ class ProductSearchTest(TestCase): self.model.objects.all().delete() def test_anon_user_can_search(self): + company = CompanyFactory(company_name='Zapatos Rojos') expected_instances = [ self.factory(tags="lunares/rojos", category='zapatos', description="zapatos verdes"), self.factory(tags="colores/rojos, tono/brillante"), self.factory(tags="lunares/azules", description="zapatos rojos"), self.factory(tags="lunares/rojos", description="zapatos"), + self.factory(tags="lunares/verdes", company=company), ] unexpected_instances = [ self.factory(description="chanclas"), diff --git a/products/utils.py b/products/utils.py index e635a37..a00cd00 100644 --- a/products/utils.py +++ b/products/utils.py @@ -114,12 +114,12 @@ def find_related_products_v6(keyword, shipping_cost=None, discount=None, categor allow filtering by: - shipping cost """ - vector = SearchVector('name') + SearchVector('description') + SearchVector('tags__label') + SearchVector('attributes__label') + SearchVector('category__name') + vector = SearchVector('name') + SearchVector('description') + SearchVector('tags__label') + SearchVector('attributes__label') + SearchVector('category__label') + SearchVector('company__company_name') query = SearchQuery(keyword) products_qs = Product.objects.annotate( rank=SearchRank(vector, query) - ).filter(rank__gt=0.05) # removed order_by because its lost in casting + ).filter(rank__gt=0.05) # filter by category if category is not None: