[Django] #34187: UserCreationForm should save data from ManyToMany form fields

30 views
Skip to first unread message

Django

unread,
Nov 27, 2022, 10:26:48 AM11/27/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark | Owner: Mark Gensler
Gensler |
Type: New | Status: assigned
feature |
Component: | Version: 4.1
contrib.admin | Keywords: UserCreationForm
Severity: Normal | save_m2m
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
When using `contrib.auth.forms.UserCreationForm` with a custom User model
which has `ManyToManyField` fields, the data in all related form fields
(e.g. a `ModelMultipleChoiceField`) is not saved.

This is because unlike its parent class `django.forms.ModelForm`,
`UserCreationForm.save(commit=True)` omits to call `self.save_m2m()`.

This has been discussed on the #django-developers mailing list
[https://groups.google.com/u/1/g/django-developers/c/2jj-ecoBwE4] and I'm
ready to work on a PR.

--
Ticket URL: <https://code.djangoproject.com/ticket/34187>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Nov 27, 2022, 10:29:59 AM11/27/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark Gensler | Owner: Mark
| Gensler
Type: New feature | Status: assigned
Component: contrib.admin | Version: 4.1
Severity: Normal | Resolution:
Keywords: UserCreationForm | Triage Stage:
save_m2m | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 1 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mark Gensler):

* needs_tests: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/34187#comment:1>

Django

unread,
Nov 27, 2022, 10:32:44 AM11/27/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark Gensler | Owner: Mark
| Gensler
Type: New feature | Status: assigned
Component: contrib.auth | Version: 4.1

Severity: Normal | Resolution:
Keywords: UserCreationForm | Triage Stage:
save_m2m | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 1 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mark Gensler):

* component: contrib.admin => contrib.auth


--
Ticket URL: <https://code.djangoproject.com/ticket/34187#comment:2>

Django

unread,
Nov 27, 2022, 3:41:41 PM11/27/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark Gensler | Owner: Mark
| Gensler
Type: New feature | Status: assigned
Component: contrib.auth | Version: 4.1
Severity: Normal | Resolution:
Keywords: UserCreationForm | Triage Stage:
save_m2m | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mark Gensler):

* needs_tests: 1 => 0


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

Django

unread,
Nov 27, 2022, 4:30:29 PM11/27/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark Gensler | Owner: Mark
| Gensler
Type: New feature | Status: assigned
Component: contrib.auth | Version: 4.1
Severity: Normal | Resolution:
Keywords: UserCreationForm | Triage Stage:
save_m2m | Unreviewed
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mark Gensler):

* has_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/34187#comment:4>

Django

unread,
Nov 27, 2022, 11:48:59 PM11/27/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark Gensler | Owner: Mark
| Gensler
Type: New feature | Status: assigned
Component: contrib.auth | Version: dev
Severity: Normal | Resolution:
Keywords: UserCreationForm | Triage Stage: Accepted
save_m2m |

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* version: 4.1 => dev
* stage: Unreviewed => Accepted


Comment:

Sounds reasonable.

[https://github.com/django/django/pull/16333 PR]

--
Ticket URL: <https://code.djangoproject.com/ticket/34187#comment:5>

Django

unread,
Nov 28, 2022, 12:03:30 AM11/28/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark Gensler | Owner: Mark
| Gensler
Type: New feature | Status: assigned
Component: contrib.auth | Version: dev
Severity: Normal | Resolution:
Keywords: UserCreationForm | Triage Stage: Accepted
save_m2m |
Has patch: 1 | Needs documentation: 1

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_docs: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/34187#comment:6>

Django

unread,
Nov 28, 2022, 11:59:50 PM11/28/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark Gensler | Owner: Mark
| Gensler
Type: New feature | Status: assigned
Component: contrib.auth | Version: dev
Severity: Normal | Resolution:
Keywords: UserCreationForm | Triage Stage: Ready for
save_m2m | checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_docs: 1 => 0
* stage: Accepted => Ready for checkin


--
Ticket URL: <https://code.djangoproject.com/ticket/34187#comment:7>

Django

unread,
Nov 29, 2022, 2:06:42 AM11/29/22
to django-...@googlegroups.com
#34187: UserCreationForm should save data from ManyToMany form fields
-------------------------------------+-------------------------------------
Reporter: Mark Gensler | Owner: Mark
| Gensler
Type: New feature | Status: closed
Component: contrib.auth | Version: dev
Severity: Normal | Resolution: fixed

Keywords: UserCreationForm | Triage Stage: Ready for
save_m2m | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak <felisiak.mariusz@…>):

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


Comment:

In [changeset:"9d726c7902979d4ad53945ed8f1037266a88010d" 9d726c7]:
{{{
#!CommitTicketReference repository=""
revision="9d726c7902979d4ad53945ed8f1037266a88010d"
Fixed #34187 -- Made UserCreationForm save many-to-many fields.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/34187#comment:8>

Reply all
Reply to author
Forward
0 new messages