def save(self, *args, **kwargs):
        """
        **uid**: :code:`person:{slug}`
        """
        if not self.full_name:
            self.full_name = '{0}{1}{2}'.format(
                self.first_name,
                '{}'.format(
                    ' ' + self.middle_name + ' ' if self.middle_name else ' ',
                ),
                self.last_name,
                '{}'.format(' ' + self.suffix if self.suffix else '')
            )

        self.slug = uuslug(
            self.full_name,
            instance=self,
            max_length=100,
            separator='-',
            start_no=2
        )
        if not self.uid:
            self.uid = 'person:{}'.format(self.slug)

        super(Person, self).save(*args, **kwargs)