The behavior seems expected. 
https://docs.djangoproject.com/en/dev/topics/auth/customizing/#custom-users-and-proxy-models

It looks like if you use a proxy model, then you should import it where 
needed rather than use AUTH_USER_MODEL.

On Saturday, April 14, 2018 at 6:34:59 PM UTC-4, Nicolas Pantel wrote:
>
> Hi,
>
> I need help on the topic: Proxy for User model referenced as 
> AUTH_USER_MODEL.
>
> As stated in the doc, needing to add some methods to User model, I tried 
> to make a 'proxy' model.
>
> I made a 'from scratch app', with only a MyUser(User) model, and 
> AUTH_USER_MODEL = 'myapp.MyUser' in settings.py
> MyUser has only 'class Meta: proxy = True'
>
> On a ./manage.py shell (for example), I have the following traceback:
>
> 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'.
>>
>>
> Anybody already tried to use proxy on User model?
>
> Thanks,
> Nicolas Pantel
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/1567fa85-dfe0-4a93-9a5e-75f4f3881c18%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to