code: def _get_related_model_name(self):
          
          if isinstance(self.related_to, type) and issubclass(self.related_to, RelatedModel):
              model_name = self.related_to._name
  
          elif isinstance(self.related_to, str):
              if self.related_to == 'self':
                  model_name = self._model._name
              elif ':' not in self.related_to:
                  model_name = ':'.join((self._model.namespace, self.related_to))
              else:
                  model_name = self.related_to
  
          else:
              raise ImplementationError("The `to` argument to a related field "
                                        "must be a RelatedModel as a class or as "
                                        "a string (with or without namespace). "
                                        "Or simply 'self'.")
  
          return model_name.lower()
docs: Return the name of the related model, as used to store all models in the
          database object, in the following format: "%(namespace)s:%(class_name)"
          The result is computed from the "to" argument of the RelatedField
          constructor, stored in the "related_to" attribute, based on theses rules :
          - if a "RelatedModel" subclass, get its namespace:name
          - if a string :
            - if "self", get from the current model (relation on self)
            - if a RelatedModel class name, keep it, and if no namesace, use the
              namespace of the current model