[CORD-2641] Validating uniqueness of imsi_number
Change-Id: I966e12e9cb9160e0dfd0d10cfb76a99e14150111
diff --git a/xos/models/models.py b/xos/models/models.py
index 3a7ed58..6d9b60d 100644
--- a/xos/models/models.py
+++ b/xos/models/models.py
@@ -23,4 +23,13 @@
except IndexError:
raise XOSValidationError("Service MCORD cannot be found, please make sure that the model exists.")
+ # prevent IMSI duplicate
+ try:
+ instance_with_same_imsi = MCordSubscriberInstance.objects.get(imsi_number=self.imsi_number)
+
+ if (not self.pk and instance_with_same_imsi) or (self.pk and self.pk != instance_with_same_imsi.pk):
+ raise XOSValidationError("An MCORDSubscriber with imsi_number '%s' already exists" % self.imsi_number)
+ except self.DoesNotExist:
+ pass
+
super(MCordSubscriberInstance, self).save(*args, **kwargs)