diff options
Diffstat (limited to 'chimere/models.py')
-rw-r--r-- | chimere/models.py | 10 |
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): |