[Django] #36104: forms.Media shouldn't expect media objects only

21 views
Skip to first unread message

Django

unread,
Jan 16, 2025, 8:40:58 AM1/16/25
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias | Owner: Matthias Kestenholz
Kestenholz |
Type: Bug | Status: assigned
Component: Forms | Version: 5.1
Severity: Normal | Keywords:
Triage Stage: | Has patch: 1
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
While thinking about https://forum.djangoproject.com/t/rejuvenating-vs-
deprecating-form-media/21285 I have noticed that the `forms.Media.__add__`
method assumes that media objects are only ever added to each other. That
doesn't necessarily have to be the case.

I propose returning `NotImplemented` when the RHS isn't a `Media` instance
but something else.

All tests pass locally.

(It has nothing to do with https://code.djangoproject.com/ticket/35648
specifically but the same discussion probably applies.)
--
Ticket URL: <https://code.djangoproject.com/ticket/36104>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jan 16, 2025, 8:44:56 AM1/16/25
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Matthias
| Kestenholz
Type: Bug | Status: assigned
Component: Forms | Version: 5.1
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Matthias Kestenholz):

[https://github.com/django/django/pull/19058 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:1>

Django

unread,
Jan 16, 2025, 2:31:49 PM1/16/25
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Matthias
Type: | Kestenholz
Cleanup/optimization | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* stage: Unreviewed => Accepted
* type: Bug => Cleanup/optimization
* version: 5.1 => dev

Comment:

Accepting, this is somewhat similar to 35648.
--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:2>

Django

unread,
Feb 14, 2025, 2:03:51 AM2/14/25
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Matthias
Type: | Kestenholz
Cleanup/optimization | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Raphael Gaschignard):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:3>

Django

unread,
Jun 9, 2026, 4:24:16 PMJun 9
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Matthias
Type: | Kestenholz
Cleanup/optimization | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Schilling):

* needs_better_patch: 1 => 0

Comment:

This PR was ready for another review, but Trac wasn't updated.
--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:4>

Django

unread,
Jun 10, 2026, 11:30:28 AMJun 10
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Matthias
| Kestenholz
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 0 => 1
* type: Cleanup/optimization => Bug

Comment:

The additional flexibility might be a cleanup, but not returning
`NotImplemented` for arbitrary types is a bug IMO. Left minor questions on
the PR.
--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:5>

Django

unread,
Jun 10, 2026, 4:27:36 PMJun 10
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Jacob
| Walls
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 1 => 0
* owner: Matthias Kestenholz => Jacob Walls

Comment:

[https://github.com/django/django/pull/21447 Alternative PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:6>

Django

unread,
Jun 10, 2026, 4:52:46 PMJun 10
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Jacob
| Walls
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* stage: Accepted => Ready for checkin

Comment:

Clifford and Hasan approved on GitHub.
--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:7>

Django

unread,
Jun 10, 2026, 5:16:10 PMJun 10
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Jacob
| Walls
Type: Bug | Status: closed
Component: Forms | Version: dev
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls <jacobtylerwalls@…>):

* resolution: => fixed
* status: assigned => closed

Comment:

In [changeset:"a2f8a4a6f9ac094edde937e56a3ecbd112ee448c" a2f8a4a]:
{{{#!CommitTicketReference repository=""
revision="a2f8a4a6f9ac094edde937e56a3ecbd112ee448c"
Fixed #36104 -- Returned NotImplemented in Media.__add__ for non-Media
RHS.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:8>

Django

unread,
Jun 10, 2026, 5:16:59 PMJun 10
to django-...@googlegroups.com
#36104: forms.Media shouldn't expect media objects only
-------------------------------------+-------------------------------------
Reporter: Matthias Kestenholz | Owner: Jacob
| Walls
Type: Bug | Status: closed
Component: Forms | Version: dev
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Jacob Walls <jacobtylerwalls@…>):

In [changeset:"83e2a3b2bd65a4c8a82049b128db2af159eebe38" 83e2a3b]:
{{{#!CommitTicketReference repository=""
revision="83e2a3b2bd65a4c8a82049b128db2af159eebe38"
[6.1.x] Fixed #36104 -- Returned NotImplemented in Media.__add__ for non-
Media RHS.

Backport of a2f8a4a6f9ac094edde937e56a3ecbd112ee448c from main.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36104#comment:9>
Reply all
Reply to author
Forward
0 new messages