Don't save duplicate boosts

This commit is contained in:
Mouse Reeve
2021-04-22 19:36:27 -07:00
parent 9148f36719
commit b457446f2f
2 changed files with 10 additions and 4 deletions

View File

@ -351,6 +351,14 @@ class Boost(ActivityMixin, Status):
def save(self, *args, **kwargs):
""" save and notify """
# This constraint can't work as it would cross tables.
# class Meta:
# unique_together = ('user', 'boosted_status')
if Boost.objects.filter(
boosted_status=self.boosted_status, user=self.user
).exists():
return
super().save(*args, **kwargs)
if not self.boosted_status.user.local or self.boosted_status.user == self.user:
return