繁体   English   中英

如何扩展用户模型以向其中添加更多字段

[英]How to extend the user model to add more fields to it

我正在使用django提供的默认用户模型。 但是我想向它添加更多特定于我的应用程序的字段。

我已完成以下操作,但似乎无法正常工作。 我正在尝试添加一个名为company_name的字段并测试其是否有效,我尝试使用其余的API对其进行更新。

settings.py的最后一行:

ROOT_URLCONF = 'demo.urls'
WSGI_APPLICATION = 'demo.wsgi.application'
...
AUTH_USER_MODEL = "demo.UserProfile"

Models.py:

from django.contrib.auth.models import AbstractUser
from django.db import models

class UserProfile(AbstractUser):
    company_name = models.CharField(max_length=50)

我不确定是否设置了company_name属性,但是由于它没有返回值,所以我假设我所做的不起作用。

在此处输入图片说明

但是您根本没有扩展User模型,而是创建了一个单独的模型,该模型通过1-1关系链接到该模型。 因此,您不应期望User模型的JSON转储包含您的个人资料字段。

我不知道您使用什么框架来生成该REST输出,但是也许您可以扩展序列化器以包括相关字段。 但是,更好的方法是实际使用自定义用户模型:与其将User链接到Profile,还不如将它扩展到您自己的字段中,并告诉Django使用您的模型代替默认模型。 这是有据可查的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM