diff --git a/pandora/event/models.py b/pandora/event/models.py index 75a33a68..8db6a967 100644 --- a/pandora/event/models.py +++ b/pandora/event/models.py @@ -82,7 +82,8 @@ class Event(models.Model): self.items.remove(i) for i in Item.objects.filter(id__in=ids).exclude(id__in=self.items.all()): self.items.add(i) - self.save() + #only update matches, other values might have been changed + Event.objects.filter(id=self.id).update(matches=self.matches) def set_name_sort(self, value=None): if not value: diff --git a/pandora/event/views.py b/pandora/event/views.py index d7fbd489..d4135798 100644 --- a/pandora/event/views.py +++ b/pandora/event/views.py @@ -87,7 +87,8 @@ def editEvent(request): if 'nameSort' in data: event.set_name_sort(data['nameSort']) event.save() - tasks.update_matches.delay(event.id) + if 'name' in data or 'alternativeNames' in data: + tasks.update_matches.delay(event.id) response = json_response(status=200, text='updated') response['data'] = event.json() else: diff --git a/pandora/place/models.py b/pandora/place/models.py index 40523c0a..49ecad2d 100644 --- a/pandora/place/models.py +++ b/pandora/place/models.py @@ -93,7 +93,7 @@ class Place(models.Model): self.items.remove(i) for i in Item.objects.filter(id__in=ids).exclude(id__in=self.items.all()): self.items.add(i) - self.save() + Place.objects.filter(id=self.id).update(matches=self.matches) def save(self, *args, **kwargs): if not self.name_sort: diff --git a/pandora/place/views.py b/pandora/place/views.py index 52ddc16d..96a88454 100644 --- a/pandora/place/views.py +++ b/pandora/place/views.py @@ -106,7 +106,8 @@ def editPlace(request): value = tuple(value) setattr(place, key, value) place.save() - #tasks.update_matches.delay(place.id) + if 'name' in data or 'alternativeNames' in data: + tasks.update_matches.delay(place.id) response = json_response(place.json()) else: response = json_response(status=403,