python – Como detectar si un modelo en django tuvo cambios


Tengo un modelo y debo detectar si este tiene cambios en alguno de sus campos al ejecutar el método save() y ejecutar una función en caso de que si tenga cambios, de lo contrario la función no debe ejecutarse.

Modelo

class Persona(models.Model):

    nombre = models.CharField(max_length=80,null=True,blank=True,verbose_name=_('nombre'))
    apellido = models.CharField(max_length=80,null=True,blank=True,verbose_name=_('nombre'))
    email = models.EmailField(max_length=80,null=True,blank=True,verbose_name=_('nombre'))

    def save(self, *args, **kwargs):
        if cambios_detectados:
            self.enviar_mail()
        return super(Negocio, self).save(*args, **kwargs)