code: def has_changed(self, field_name: str = None) -> bool:
          
          changed = self._diff_with_initial.keys()
  
          if self._meta.get_field(field_name).get_internal_type() == 'ForeignKey':
              if not field_name.endswith('_id'):
                  field_name = field_name+'_id'
  
          if field_name in changed:
              return True
  
          return False
docs: Check if a field has changed since the model was instantiated.