                  if (isinstance(field, models.ManyToManyField) and
                          not field.remote_field.through._meta.auto_created):
                      return [
                          checks.Error(
                              "The value of '%s' cannot include the ManyToManyField '%s', "
                              "because that field manually specifies a relationship model."
                              % (label, field_name),
                              obj=obj.__class__,
                              id='admin.E013',
                          )
 
</s> remove                 if (isinstance(field, models.ManyToManyField) and
                        not field.remote_field.through._meta.auto_created):
 </s> add                 if field.many_to_many and not field.remote_field.through._meta.auto_created: </s> remove                 "The value of 'fields' cannot include the ManyToManyField 'authors', "
 </s> add                 "The value of 'fields' cannot include the many-to-many field 'authors' " </s> remove                 "The value of 'fieldsets[1][1][\"fields\"]' cannot include the ManyToManyField "
                "'authors', because that field manually specifies a relationship model.",
 </s> add                 "The value of 'fieldsets[1][1][\"fields\"]' cannot include the many-to-many field "
                "'authors' because that field manually specifies a relationship model.", </s> remove                         "ForeignKey or ManyToManyField." % (label, field_name),
 </s> add                         "a foreign key, or a many-to-many field." % (label, field_name), </s> remove             if isinstance(field, forbidden_field_types):
 </s> add             if field.many_to_many or isinstance(field, (models.DateTimeField, models.ForeignKey)):
                            "The value of '%s' cannot include the many-to-many field '%s' "
                  if (isinstance(field, models.ManyToManyField) and
                          not field.remote_field.through._meta.auto_created):
                      return [
                          checks.Error(
                            "The value of '%s' cannot include the many-to-many field '%s' "
                              "because that field manually specifies a relationship model."
                              % (label, field_name),
                              obj=obj.__class__,
                              id='admin.E013',
                          )
keep keep keep keep replace keep keep keep keep keep
 Refs #24227 -- Replaced M2M isinstance checks by field.many_to_many

Thanks Markus Holtermann, Collin Anderson and Tim Graham for the reviews. 
django/contrib/admin/checks.py