  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  If you defined your own form widgets and defined the ``_has_changed`` method
  on a widget, you should now define this method on the form field itself.
 
</s> remove         return self.rel.related_name or self.opts.object_name.lower()
 </s> add         return self.rel.related_name or self.opts.model_name </s> remove             return self.field.rel.related_name or (self.opts.object_name.lower() + '_set')
 </s> add             return self.field.rel.related_name or (self.opts.model_name + '_set') </s> remove                 self.object._meta.object_name.lower(),
 </s> add                 self.object._meta.model_name, </s> remove                     info = (app_label, model._meta.module_name)
 </s> add                     info = (app_label, model._meta.model_name) </s> remove                     info = (app_label, model._meta.module_name)
 </s> add                     info = (app_label, model._meta.model_name)
``module_name`` model meta attribute
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

``Model._meta.module_name`` was renamed to ``model_name``. Despite being a
private API, it will go through a regular deprecation path.
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  If you defined your own form widgets and defined the ``_has_changed`` method
  on a widget, you should now define this method on the form field itself.
``module_name`` model meta attribute
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

``Model._meta.module_name`` was renamed to ``model_name``. Despite being a
private API, it will go through a regular deprecation path.
keep keep keep add
 Fixed #19689 -- Renamed `Model._meta.module_name` to `model_name`. 
docs/releases/1.6.txt