code: def bind(self, field_name, parent):
          
  
          # In order to enforce a consistent style, we error if a redundant
          # 'source' argument has been used. For example:
          # my_field = serializer.CharField(source='my_field')
          assert self.source != field_name, (
              "It is redundant to specify `source='%s'` on field '%s' in "
              "serializer '%s', because it is the same as the field name. "
              "Remove the `source` keyword argument." %
              (field_name, self.__class__.__name__, parent.__class__.__name__)
          )
  
          self.field_name = field_name
          self.parent = parent
  
          # `self.label` should default to being based on the field name.
          if self.label is None:
              self.label = field_name.replace('_', ' ').capitalize()
  
          # self.source should default to being the same as the field name.
          if self.source is None:
              self.source = self.convert_field_name(field_name)
  
          # self.source_attrs is a list of attributes that need to be looked up
          # when serializing the instance, or populating the validated data.
          if self.source == '*':
              self.source_attrs = []
          else:
              self.source_attrs = self.source.split('.')
docs: Initializes the field name and parent for the field instance.
          Called when a field is added to the parent serializer instance.
          Taken from DRF and modified to support drf_haystack multiple index
          functionality.