[英]What is the best way to extend User model with more fields in Django?
[英]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.