Модель пользователя Django не работает после переопределения - PullRequest
1 голос
/ 19 октября 2019

Объяснение Я расширил модель Django User и добавил к ней несколько полей. Затем я сохранил модель и заменил ее последней моделью пользователя, используя StackedInline. Для этого я использую django_rest_framework. Более конкретно вот мой код:

Models.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    # TODO: add Upload directory to the avatar
    avatar = models.ImageField()
    university = models.CharField(max_length=100, default="")
    discipline = models.CharField(max_length=100, default="")
    joined_at = models.DateTimeField(auto_now=True)

class UserProfileInline(admin.StackedInline):
    '''Stacked Inline View for UserProfile'''
    model = UserProfile

class UserAdmin(BaseUserAdmin):
    inlines = (
        UserProfileInline,
    )

сериализатор

from rest_framework import serializers
from .models import User

class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = "__all__"

Почтовый запрос:

Post Request

Проблема Я вижу дополнительные поля, которые я добавил в модель User в django-admin, но всякий раз, когда я хочу отправить запрос на публикацию для создания нового пользователя,дополнительные поля игнорируются! (хотя я поместил данные в запросе на публикацию, но в админке они отображаются пустыми)

Django Admin

Вопрос

  1. Как я могу исправить или отредактировать мою модель, чтобы она работала правильно?

  2. Я добавил AUTH_USER_MODEL = 'user.UserProfile', но я сталкиваюсь с "AUTH_USER_MODEL refers to model '%s' that has not been installed" % settings.AUTH_USER_MODEL ошибка, пока я добавил приложение в INSTALLED_APPS. Кто-нибудь поможет мне решить эту проблему?

...