Opened 4 years ago
Last modified 4 years ago
#32599 closed Uncategorized
django.contrib.auth.forms.py should always refer to User as get_user_model() — at Initial Version
Reported by: | Joe Michelini | Owned by: | Joe Michelini |
---|---|---|---|
Component: | contrib.auth | Version: | 3.1 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Inconsistent Reference
In some sections of django.contrib.auth.forms.py, when referring to the User model, Django wisely uses get_user_model(), so whether we decide to use the built-in User model, extend it, or use our own, we always get the right user when importing these forms.
However, in the UserCreationForm for example, Django instead explicitly refers to the built-in user found at django.contrib.auth.models.
This causes some forms to work and some forms to fail when using a custom or extended User model, even though extending the built-in User model is suggested in the Django documentation.
This is an easy fix and would require all forms in django.contrib.auth.forms to refer to get_user_model() as opposed to the imported built-in User. In the case where a custom User model is not being utilized, get_user_model() will automatically refer to the built-in User.