def value_has_changed_for_fields(instance, fields):
    """
        Did any field values change since the last time they were saved?
        """
    if not instance.pk:
        return True
    old_values = instance.__class__._default_manager.filter(pk=instance.pk
        ).values().get()
    for f in fields:
        if not getattr(instance, f) == old_values[f]:
            return True
    return False
