code: def changed(self):
          
          if self.explicit:
              return self.value != self.previous_value
  
          if isinstance(self.column, BaseContainerColumn):
              default_value = self.column.get_default()
              if self.column._val_is_null(default_value):
                  return not self.column._val_is_null(self.value) and self.value != self.previous_value
              elif self.previous_value is None:
                  return self.value != default_value
  
              return self.value != self.previous_value
  
          return False
docs: Indicates whether or not this value has changed.
  
          :rtype: boolean