Sei que isso não esta solicitando no projeto mas pensei em criar algo para validar o e-mail somente se tiver o @ para evitar e-mail falsos , usei o código dessa forma:
class EstudanteSerializer(serializers.ModelSerializer):
class Meta:
model = Estudante
fields = ['id', 'nome', 'email', 'cpf', 'data_nascimento', 'celular']
def validate(self, dados):
if not dados['nome'].isalpha():
raise serializers.ValidationError({'nome':'O nome deve conter apenas letras.'})
if '@' not in dados['email']:
raise serializers.ValidationError({'email': 'Email inválido, deve conter @.'})
if len(dados['cpf']) != 11:
raise serializers.ValidationError({'cpf':'CPF deve conter exatamente 11 dígitos numéricos.'})
if len(dados['celular']) != 13:
raise serializers.ValidationError({'celular':'O número de celular deve conter 13 dígitos.'})
return dados