【发布时间】:2020-02-16 04:20:30
【问题描述】:
说明我已经扩展了 Django User 模型并添加了一些字段。然后我保存了模型并将其替换为使用StackedInline 的最后一个用户模型。为此,我使用django_rest_framework。更具体地说,这是我的代码:
模型.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__"
发布请求:
问题 我可以看到我在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中添加了应用程序。有人可以帮我解决吗?
【问题讨论】:
-
您是否更改了AUTH_USER_MODEL 设置?
-
你能从管理面板添加
user_profile吗? -
@HamidrezaAhmadi 我没有在管理页面注册 user_profile,因为我只想覆盖 User 模型,而不是必须分离模型!
-
那么你能添加一个新用户吗?
-
@HamidrezaAhmadi 是的!您可以在我的帖子末尾看到我的帖子请求结果的屏幕截图。
标签: django django-rest-framework django-admin