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

时间:2015-02-10 18:23:38

标签: python django django-models

我正在使用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属性,但因为它没有返回它。我假设我所做的并不起作用。

enter image description here

1 个答案:

答案 0 :(得分:3)

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

我不知道您使用什么框架来生成REST输出,但也许您可以扩展序列化程序以包含相关字段。但更好的方法是实际使用自定义用户模型:而不是将User链接到Profile,使用您自己的字段扩展AbstractUser类,并告诉Django使用您的模型代替默认值。这是fully documented