Ответы пользователя по тегу RESTful API
  • Как расширить User используя Django REST?

    У вас всё не правильно.
    Ознакомьтесь с этим https://docs.djangoproject.com/en/1.9/topics/auth/...

    class UserProfile(models.Model):
        user = models.ForeignKey(settings.AUTH_USER_MODEL, unique=True)
        organization = models.ForeignKey(Organization, verbose_name=_('Organization'))
    
    ...
    AUTH_PROFILE_MODULE = 'app.UserProfile'

    Это в корне не верно, вы не расширили модель пользователя, вы создали просто некую модель которая ссылается на пользователя - это не верно!

    Вам нужно унаследоваться от стандартной модели и уже туда добавить новое поле:
    from django.contrib.auth.models import AbstractUser
    
    class User(AbstractUser):
        organization = models.ForeignKey(Organization, verbose_name=_('Organization'))


    Лучше всего это делать при старте нового проекта, если уже используются пользователи в системе вы не можете просто взять и включить новую кастомную модель, у вас всё сломается, есть хорошее решение как безболезненно мигрировать: https://pypi.python.org/pypi/django_custom_user_mi...
    Воспользовался им около месяца назад, всё отлично, только делайте бэкапы и точно следуйте инструкциям!

    После того как появятся новые кастомные пользователи, вы уже не сможете делать такие запросы:
    >>> from django.contrib.auth.models import User
    >>> user = User.objects.get(pk=1)
    >>> dir(user)


    Придётся делать примерно так:
    from django.contrib.auth import get_user_model
    User = get_user_model()
    user = User.objects.get(pk=1)
    dir(user)

    И так везде где вы раньше использовали django.contrib.auth.models:User
    Ответ написан
    1 комментарий