code: def _has_changed_related(instance):
      
      tracked_related_fields = getattr(
          instance,
          '_tracked_related_fields',
          {}
      ).keys()
      for field, value in instance._original_fields.items():
          if field != 'pk' and \
             not isinstance(instance._meta.get_field(field), ManyToManyField):
              if field in tracked_related_fields:
                  if isinstance(instance._meta.get_field(field), ForeignKey):
                      if getattr(instance, '{0}_id'.format(field)) != value:
                          return True
                  else:
                      if getattr(instance, field) != value:
                          return True
      return False
docs: Check if some related tracked fields have changed