Example #1
0
    def surname(self, value):
        if isinstance(value, str):
            if self.gender == 'F':
                query = SurName.objects.filter(_surname_female=value)
            else:
                query = SurName.objects.filter(_surname_male=value)

            if query.exists():
                value = (SurName.objects.get(_surname_female=value)
                         if self.gender == 'F' else SurName.objects.get(
                             _surname_male=value))
            else:
                value = (SurName.objects.create(
                    surname={'surname_female': value})
                         if self.gender == 'F' else SurName.objects.create(
                             surname={'surname_male': value}))

        if self._surname:
            if self._surname is not value:
                link_dec(self._surname)
            else:
                return

        link_inc(value)

        self._surname = value
Example #2
0
    def givname(self, value):
        if isinstance(value, str):
            value, created = GivName.objects.get_or_create(givname=value, )

        if self._givname:
            if self._givname is not value:
                if self._givname.link > 1:
                    self._givname.link -= 1
                    self._givname.save()
                elif self._givname.note:
                    self._givname.link = 0
                    self._givname.save()
                else:
                    self._givname.delete()
            else:
                return

        link_inc(value)

        self._givname = value