Объяснение Я расширил модель 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__"
Почтовый запрос:
Проблема Я вижу дополнительные поля, которые я добавил в модель User в django-admin
, но всякий раз, когда я хочу отправить запрос на публикацию для создания нового пользователя,дополнительные поля игнорируются! (хотя я поместил данные в запросе на публикацию, но в админке они отображаются пустыми)
Вопрос
Как я могу исправить или отредактировать мою модель, чтобы она работала правильно?
Я добавил AUTH_USER_MODEL = 'user.UserProfile'
, но я сталкиваюсь с "AUTH_USER_MODEL refers to model '%s' that has not been installed" % settings.AUTH_USER_MODEL
ошибка, пока я добавил приложение в INSTALLED_APPS
. Кто-нибудь поможет мне решить эту проблему?