#897: Bi-Directional ManyToMany in Admin
---------------------------------+------------------------------------
Reporter: anonymous | Owner: nobody
Type: Bug | Status: new
Component: contrib.admin | Version: 5.1
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+------------------------------------
Changes (by Shai Berger):
* cc: Shai Berger (added)
* severity: Normal => Release blocker
* type: New feature => Bug
* version: => 5.1
Comment:
I was very surprised to see this 3-digit ticket, because I saw the
functionality mostly work on Django 2.2 to 4.2.
The issue described in comment:48 was in fact introduced in 5.1, while
fixing #35056: A check rejecting M2M fields with through models on the
admin was crashing on reverse relations, and the fix for it rejects
**all** reverse M2M fields from the admin, whether they do or don't have a
through relation.
This change in {{{django/contrib/admin/checks.py}}} should fix the check
itself, but some tests would need to be added too...
{{{#!diff
535c535
< if not field.many_to_many or isinstance(field,
models.ManyToManyRel):
---
> if not field.many_to_many:
539c539,544
< elif not field.remote_field.through._meta.auto_created:
---
> through = (
> field.through
> if isinstance(field, models.ManyToManyRel)
> else field.remote_field.through
> )
> if not through._meta.auto_created:
}}}
In the current state, this breaks existing Django projects -- it's a
regression introduced in the last release, so as far as I understand, it
merits Release Blocker status. I'm just not sure if it's better to make
the Release Blocker a new bug, leaving just whatever part is left of this
one ([comment:43 history?]) here.
--
Ticket URL: <https://code.djangoproject.com/ticket/897#comment:51>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/django-updates/01070194f6986200-4d48ea28-2af3-45e8-8307-de55239c4d53-000000%40eu-central-1.amazonses.com.