          # This method defines the name that can be used to identify this
          # related object in a table-spanning query. It uses the lower-cased
          # object_name by default, but this can be overridden with the
          # "related_name" option.
          return self.rel.related_name or self.opts.object_name.lower()
  
  
  class SingleRelatedObjectDescriptor(object):
      # This class provides the functionality that makes the related-object
      # managers available as attributes on a model class, for fields that have
 
</s> remove     def __init__(self, user, module_name):
        self.user, self.module_name = user, module_name
 </s> add     def __init__(self, user, app_label):
        self.user, self.app_label = user, app_label </s> remove             to_name = to._meta.object_name.lower()
 </s> add             to_name = to._meta.model_name </s> remove             model_name = model._meta.object_name.lower()
 </s> add             model_name = model._meta.model_name </s> remove             names.append("%s/%s%s.html" % (opts.app_label, opts.object_name.lower(), self.template_name_suffix))
 </s> add             names.append("%s/%s%s.html" % (opts.app_label, opts.model_name, self.template_name_suffix))
        return self.rel.related_name or self.opts.model_name
          # This method defines the name that can be used to identify this
          # related object in a table-spanning query. It uses the lower-cased
          # object_name by default, but this can be overridden with the
          # "related_name" option.
        return self.rel.related_name or self.opts.model_name
  
  
  class SingleRelatedObjectDescriptor(object):
      # This class provides the functionality that makes the related-object
      # managers available as attributes on a model class, for fields that have
keep keep keep keep replace keep keep keep keep keep
 Fixed #19689 -- Renamed `Model._meta.module_name` to `model_name`. 
django/db/models/fields/related.py