diff --git a/biscuit/core/models.py b/biscuit/core/models.py
index 7aa92d3f38404b7bbc86fd1128f6a3dd3a45f26f..506f5f5d50158ee8e2700cd750c4e184f0f918c9 100644
--- a/biscuit/core/models.py
+++ b/biscuit/core/models.py
@@ -19,7 +19,7 @@ class Person(models.Model):
         'Additional name(s)'), max_length=30, blank=True)
 
     short_name = models.CharField(verbose_name=_(
-        'Short name'), max_length=5, blank=True)
+        'Short name'), max_length=5, blank=True, unique=True)
 
     street = models.CharField(verbose_name=_(
         'Street'), max_length=30, blank=True)
@@ -44,7 +44,7 @@ class Person(models.Model):
     photo = models.ImageField(verbose_name=_('Photo'), blank=True, null=True)
 
     import_ref = models.CharField(verbose_name=_(
-        'Reference ID of import source'), max_length=64, blank=True, editable=False)
+        'Reference ID of import source'), max_length=64, blank=True, unique=True, editable=False)
 
     guardians = models.ManyToManyField('self', verbose_name=_('Guardians / Parents'),
                                        symmetrical=False, related_name='children')
@@ -55,9 +55,9 @@ class Person(models.Model):
 
 class Group(models.Model):
     name = models.CharField(verbose_name=_(
-        'Long name of group'), max_length=30)
+        'Long name of group'), max_length=30, unique=True)
     short_name = models.CharField(verbose_name=_(
-        'Short name of group'), max_length=8)
+        'Short name of group'), max_length=8, unique=True)
 
     members = models.ManyToManyField('Person', related_name='member_of')
     owners = models.ManyToManyField('Person', related_name='owner_of')