from django.core.validators import RegexValidator
def cpf_valido(self):
"""Valida o CPF da pessoa"""
regex = r"^[0-9]{3}\.[0-9]{3}\.[0-9]{3}\-[0-9]{2}$"
validator = RegexValidator(regex)
return validator.validate(self.cpf) and self.num_cpf_valido()
def num_cpf_valido(self):
""" Valida o número do CPF.
Args:
cpf: O número do CPF a ser validado.
Returns:
Retorna `True` se o número do CPF for válido, `False` caso contrário.
"""
cpf = self.cpf.replace('.', '').replace('-', '')
cpf_list = list(cpf)
multiplicadores = [1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
somatorio = 0
for index, digito in enumerate(cpf_list):
somatorio += int(digito) * multiplicadores[index]
resto_divisao = somatorio % 11
return cpf_list[9] == str(resto_divisao)
modificada a classe Pessoa no models.py