2015-02-10 68 views
2

我正在使用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

回答

3

可是你有沒有擴展用戶模型中的所有,你已經創建了通過1-1關係鏈接到它一個單獨的模型。所以你不應該期望用戶模型的JSON轉儲包含你的配置文件字段。

我不知道你正在使用什麼框架來生成REST輸出,但也許你可以擴展序列化器以包含相關字段。但更好的方法是實際使用自定義用戶模型:而不是將用戶鏈接到配置文件,用您自己的字段擴展AbstractUser類並告訴Django使用您的模型代替默認值。這是fully documented

+0

我正在使用rest_framework。我是django的新手,看起來最簡單的就是創建一個新模型並將其鏈接到用戶。我會通讀你建議的文件。 – birdy 2015-02-10 18:33:37

+0

我編輯了這個問題。我對Django用戶模型感到滿意,只是想按照本文檔中的建議向它添加字段https://docs.djangoproject.com/en/1.7/topics/auth/customizing/#extending-django-s-默認用戶。我改變了我的問題以表明我已經擴展了'AbstractUser'。我只是想看看如何使用休息來獲取和更新我的自定義字段。我很迷茫。 – birdy 2015-02-10 18:44:41

相關問題