1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-07-30 18:29:37 +02:00

Fix duplicate visited regions

This commit is contained in:
Sean Morley 2024-08-17 08:07:50 -04:00
parent 175a2371b1
commit 96663bb17b
3 changed files with 13 additions and 0 deletions

View file

@ -1,5 +1,6 @@
from django.db import models
from django.contrib.auth import get_user_model
from django.core.exceptions import ValidationError
User = get_user_model()
@ -57,3 +58,8 @@ class VisitedRegion(models.Model):
def __str__(self):
return f'{self.region.name} ({self.region.country.country_code}) visited by: {self.user_id.username}'
def save(self, *args, **kwargs):
if VisitedRegion.objects.filter(user_id=self.user_id, region=self.region).exists():
raise ValidationError("Region already visited by user.")
super().save(*args, **kwargs)