#25596 closed Bug (fixed)
Can't change user's password in admin when using custom User model
| Reported by: | user0007 | Owned by: | Tim Graham |
|---|---|---|---|
| Component: | contrib.admin | Version: | 1.9b1 |
| Severity: | Release blocker | Keywords: | |
| Cc: | Triage Stage: | Accepted | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Django 1.9b1
I'm using custom User model which is defined as:
AUTH_USER_MODEL = 'users.User'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
...
'apps.users',
]
When I tried to change user's password (using /admin/users/user/ID/password/) I've got an error:
Traceback:
File "/src/django/django/core/handlers/base.py" in get_response
149. response = self.process_exception_by_middleware(e, request)
File "/src/django/django/core/handlers/base.py" in get_response
147. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/src/django/django/utils/decorators.py" in _wrapped_view
149. response = view_func(request, *args, **kwargs)
File "/src/django/django/views/decorators/cache.py" in _wrapped_view_func
57. response = view_func(request, *args, **kwargs)
File "/src/django/django/contrib/admin/sites.py" in inner
244. return view(request, *args, **kwargs)
File "/src/django/django/utils/decorators.py" in _wrapper
67. return bound_func(*args, **kwargs)
File "/src/django/django/views/decorators/debug.py" in sensitive_post_parameters_wrapper
76. return view(request, *args, **kwargs)
File "/src/django/django/utils/decorators.py" in bound_func
63. return func.__get__(self, type(self))(*args2, **kwargs2)
File "/src/django/django/contrib/auth/admin.py" in user_change_password
155. args=(user.pk,),
File "/src/django/django/core/urlresolvers.py" in reverse
600. return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))
File "/src/django/django/core/urlresolvers.py" in _reverse_with_prefix
508. (lookup_view_s, args, kwargs, len(patterns), patterns))
Exception Type: NoReverseMatch at /panel/users/user/8/password/
Exception Value: Reverse for 'auth_user_change' with arguments '(8,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
django/auth/admin.py:151
reverse(
'%s:auth_%s_change' % (
self.admin_site.name,
user._meta.model_name,
),
args=(user.pk,),
)
There should not be fixed "auth_" prefix, but something like user._meta.app_name(?)
Change History (6)
comment:1 by , 10 years ago
| Description: | modified (diff) |
|---|---|
| Summary: | Can't change user's password in DjangoAdmin → Can't change user's password in DjangoAdmin when using custom User model |
comment:2 by , 10 years ago
| Severity: | Normal → Release blocker |
|---|---|
| Summary: | Can't change user's password in DjangoAdmin when using custom User model → Can't change user's password in admin when using custom User model |
| Triage Stage: | Unreviewed → Accepted |
| Type: | Uncategorized → Bug |
| Version: | 1.9a1 → 1.9b1 |
comment:3 by , 10 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
I'm looking into how to write a regression test for this.
Note:
See TracTickets
for help on using tickets.
Regression due to 50aa1a790ca66c2a93e0a52e00c53375b269ff49. Looks like hardcoded "auth" should be
user._meta.app_labelas you suggested.