In {{{contrib.auth.forms}}} the model meta property for
{{{UserChangeForm}}} is User, but in for example AuthenticationForm, the
method {{{get_user_model}}} is utilized. Consequently I cannot use the
form, because this class imports auth.User instead of my own User model.
Is this on purpose, or would it be possible to extend AUTH_USER_MODEL to
the creation and change forms?
I would say it is only possible if a custom User model is derived from
{{{AbstractUser}}}, as opposed to {{{AbstractBaseUser}}}
([https://docs.djangoproject.com/en/1.5/topics/auth/customizing/#specifying-a
-custom-user-model Like the Django docs suggest]). {{{AbstractUser}}}
guarantees the fields that these forms use (username, email), while
{{{AbstractBaseUser}}} doesn't. Although that takes away a lot of the
flexibility of specifying a custom User model, so maybe there's a middle
ground somewhere.
contrib/auth/forms.py:
{{{
class UserChangeForm(forms.ModelForm):
...
class Meta:
model = User
...
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/20657>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* needs_better_patch: => 0
* resolution: => duplicate
* needs_tests: => 0
* needs_docs: => 0
Comment:
Correct me if I'm wrong, but I believe this is a duplicate of #19353.
--
Ticket URL: <https://code.djangoproject.com/ticket/20657#comment:1>