Opened 13 months ago

Last modified 5 weeks ago

#28608 new Cleanup/optimization

Allow UserCreationForm and UserChangeForm to work with custom user models

Reported by: Rômulo Collopy Owned by: shangdahao
Component: contrib.auth Version: master
Severity: Normal Keywords: user, custom user, auth
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

class UserChangeForm(forms.ModelForm):
    # ...
    class Meta:
        model = User

and

class UserCreationForm(forms.ModelForm):
    class Meta:
        model = User

could use UserModel instead of User. It is already defined in https://github.com/django/django/blob/01c6a3e227b645e8dea97e9befecd23d1d3b8581/django/contrib/auth/forms.py#L20 and is used in other forms of the same package.

This would allow Django Registration and other packages that use these forms to work out of the box. And it would allow using them with no need to rewitte as specified at https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#custom-users-and-the-built-in-auth-forms

Attachments (1)

patch.diff (2.2 KB) - added by Rômulo Collopy 13 months ago.
patch

Download all attachments as: .zip

Change History (6)

Changed 13 months ago by Rômulo Collopy

Attachment: patch.diff added

patch

comment:1 Changed 13 months ago by Tim Graham

Patch needs improvement: set
Summary: UserCreationForm and UserChangeForm model using get_user_modelAllow UserCreationForm and UserChangeForm to work with custom user models

This is a continuation of #19353.

comment:2 Changed 13 months ago by Tim Graham

Triage Stage: UnreviewedAccepted

comment:3 Changed 11 months ago by shangdahao

Owner: changed from nobody to shangdahao
Patch needs improvement: unset
Status: newassigned

Since This ticket is related to ticket 28757, I made the changes for this ticket and ticket 28757 in the same commit.

PR

comment:4 Changed 10 months ago by Tim Graham <timograham@…>

Resolution: fixed
Status: assignedclosed

In 3333d93:

Fixed #28757 -- Allowed using contrib.auth forms without installing contrib.auth.

Also fixed #28608 -- Allowed UserCreationForm and UserChangeForm to
work with custom user models.

Thanks Sagar Chalise and Rômulo Collopy for reports, and Tim Graham
and Tim Martin for reviews.

comment:5 Changed 5 weeks ago by Tim Graham

Has patch: unset
Resolution: fixed
Status: closednew

In f3fa86a89b3b85242f49b2b9acf58b5ea35acc1f:

Fixed #29449 -- Reverted "Fixed #28757 -- Allowed using contrib.auth forms without installing contrib.auth."

This reverts commit 3333d935d2914cd80cf31f4803821ad5c0e2a51d due to a crash if USERNAME_FIELD isn't a CharField.

Note: See TracTickets for help on using tickets.
Back to Top