﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
35056	admin.E013 on ManyToManyField with related_name crashes.	Thomas Feldmann	Mariusz Felisiak	"I'm having problems updating my Django 4.2 project to Django 5.
Trying `manage.py runserver` raises an exception when performing system checks:

{{{
Exception in thread django-main-thread:
Traceback (most recent call last):
  File ""/opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py"", line 1045, in _bootstrap_inner
    self.run()
  File ""/opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py"", line 982, in run
    self._target(*self._args, **self._kwargs)
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/utils/autoreload.py"", line 64, in wrapper
    fn(*args, **kwargs)
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/core/management/commands/runserver.py"", line 133, in inner_run
    self.check(display_num_errors=True)
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/core/management/base.py"", line 485, in check
    all_issues = checks.run_checks(
                 ^^^^^^^^^^^^^^^^^^
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/core/checks/registry.py"", line 88, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/contrib/admin/checks.py"", line 52, in check_admin_app
    errors.extend(site.check(app_configs))
                  ^^^^^^^^^^^^^^^^^^^^^^^
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/contrib/admin/sites.py"", line 89, in check
    errors.extend(modeladmin.check())
                  ^^^^^^^^^^^^^^^^^^
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/contrib/admin/options.py"", line 148, in check
    return self.checks_class().check(self, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/contrib/admin/checks.py"", line 806, in check
    *super().check(admin_obj),
     ^^^^^^^^^^^^^^^^^^^^^^^^
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/contrib/admin/checks.py"", line 187, in check
    *self._check_filter_horizontal(admin_obj),
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/contrib/admin/checks.py"", line 515, in _check_filter_horizontal
    return list(
           ^^^^^
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/contrib/admin/checks.py"", line 517, in <genexpr>
    self._check_filter_item(
  File ""/Users/tf/work/mama2/mama/.venv/lib/python3.11/site-packages/django/contrib/admin/checks.py"", line 539, in _check_filter_item
    elif not field.remote_field.through._meta.auto_created:
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ManyToManyField' object has no attribute 'through'
}}}

The project works fine in Django 4.2.7.
I found this comes from a filter_horizontal field which is a ManyToManyField's related_name."	Bug	closed	contrib.admin	5.0	Release blocker	fixed		Hrushikesh Vaidya	Accepted	1	0	0	0	0	0
