summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-09-29 13:17:25 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-09-29 13:17:25 +0200
commit42c688f5c7817d1e69c6ee4c1cb59d90ffbb7885 (patch)
tree675cf3303d16aad6fcb8556c113516184d4f8e42 /chimere/models.py
parent9767c4cc9473dbc6eff402874363015fd70689b9 (diff)
downloadChimère-42c688f5c7817d1e69c6ee4c1cb59d90ffbb7885.tar.bz2
Chimère-42c688f5c7817d1e69c6ee4c1cb59d90ffbb7885.zip
Command to force update of search vectors
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 0582d34..52cd9eb 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -868,8 +868,11 @@ class GeographicItem(models.Model):
"""
Update the search vector
:param save: True if you want to save the object immediately
- :return: self
+ :return: True if modified
"""
+ old_search = ""
+ if self.search_vector:
+ old_search = self.search_vector[:]
search_vectors = []
base_q = self.__class__.objects.filter(pk=self.pk)
for cat in self.categories.values('pk').all():
@@ -896,9 +899,10 @@ class GeographicItem(models.Model):
))
search_vectors.append(q.all()[0].search)
self.search_vector = utils.merge_tsvectors(search_vectors)
- if save:
+ changed = old_search != self.search_vector
+ if save and changed:
self.save()
- return self
+ return changed
def weighted_post_save(sender, **kwargs):