diff options
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 915415416..ac5c29a0f 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -924,6 +924,7 @@ class FullSearch(models.Model):      BASE_SEARCH_VECTORS = []      INT_SEARCH_VECTORS = []      M2M_SEARCH_VECTORS = [] +    PARENT_SEARCH_VECTORS = []      class Meta:          abstract = True @@ -968,6 +969,15 @@ class FullSearch(models.Model):              search_vectors.append(                  "'{}':1".format(q.all()[0][INT_SEARCH_VECTOR])) +        # copy parent vector fields +        for PARENT_SEARCH_VECTOR in self.PARENT_SEARCH_VECTORS: +            parent = getattr(self, PARENT_SEARCH_VECTOR) +            if hasattr(parent, 'all'):  # m2m +                for p in parent.all(): +                    search_vectors.append(p.search_vector) +            else: +                search_vectors.append(parent.search_vector) +          # query "simple" fields          q = base_q.annotate(              search=SearchVector( | 
