#29328: Proxy for User model referenced as AUTH_USER_MODEL
------------------------------------------+-----------------------------
Reporter: nicolas-pantel | Owner: nobody
Type: Bug | Status: new
Component: contrib.auth | Version: 2.0
Severity: Normal | Keywords: model proxy
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
------------------------------------------+-----------------------------
As [https://docs.djangoproject.com/en/2.0/topics/auth/customizing
/#extending-the-existing-user-model stated in the doc], needing to add
some methods to User model, I tried to make a 'proxy' model.
settings.py:
{{{
AUTH_USER_MODEL = "myapp.MyMuser"
}}}
myapp/models.py:
{{{
from django.contrib.auth.models import User
class MyUser(User):
class Meta:
proxy = True
}}}
But on server launch, the following error is triggered:
{{{
Traceback (most recent call last):
File "./manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.6/dist-
packages/django/core/management/__init__.py", line 363, in
execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.6/dist-
packages/django/core/management/__init__.py", line 337, in execute
django.setup()
File "/usr/local/lib/python3.6/dist-packages/django/__init__.py", line
27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python3.6/dist-packages/django/apps/registry.py",
line 108, in populate
app_config.import_models()
File "/usr/local/lib/python3.6/dist-packages/django/apps/config.py",
line 202, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python3.6/importlib/__init__.py", line 126, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 205, in
_call_with_frames_removed
File "/home/npantel/proxy_user/proxy_user/models.py", line 4, in
<module>
class MyUser(User):
File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py",
line 158, in __new__
raise TypeError("%s cannot proxy the swapped model '%s'." % (name,
base_meta.swapped))
TypeError: MyUser cannot proxy the swapped model 'proxy_user.MyUser'.
}}}
Is it a bug or a misunderstanding?
Thanks,
Nicolas Pantel
--
Ticket URL: <https://code.djangoproject.com/ticket/29328>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/057.813a1d9893d38cd0c819b0b29f9c5b19%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.