code: def equal_to_current(cls, json, fields_to_ignore=("id", "change_date", "changed_by")):
          
  
          # Remove many-to-many relationships from json.
          # They require an instance to be already saved.
          info = model_meta.get_field_info(cls)
          for field_name, relation_info in info.relations.items():
              if relation_info.to_many and (field_name in json):
                  json.pop(field_name)
  
          new_instance = cls(**json)
          key_field_args = tuple(getattr(new_instance, key) for key in cls.KEY_FIELDS)
          current = cls.current(*key_field_args)
          # If current.id is None, no entry actually existed and the "current" method created it.
          if current.id is not None:
              return current.fields_equal(new_instance, fields_to_ignore)
  
          return False
docs: Compares for equality this instance to a model instance constructed from the supplied JSON.
          This will ignore any fields in `fields_to_ignore`.
  
          Note that this method cannot handle fields with many-to-many associations, as those can only
          be set on a saved model instance (and saving the model instance will create a new entry).
          All many-to-many field entries will be removed before the equality comparison is done.
  
          Args:
              json: json representing an entry to compare
              fields_to_ignore: List of fields that should not be compared for equality. By default
              includes `id`, `change_date`, and `changed_by`.
  
          Returns: True if the checked fields are all equivalent, else False