2016-07-27 88 views
1

我想使用django的用戶模型在我的網站中對用戶進行身份驗證和註冊。我只需要在國家/地區字段的用戶模型中添加另一個字段。我如何將國家添加到現有的用戶模型?Django自定義用戶模型

+4

參見擴展用戶模型[文檔](https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#extending-the-existing-user-model)。 – solarissmoke

+0

除了別人在說什麼之外,它可能取決於你正在運行的django的版本。在你的問題中包含這些信息。 –

回答

1

有很多方法可以定義custom user model

如果你想添加一個字段,你基本上可以擴展現有的用戶模型:

from django.contrib.auth.models import AbstractBaseUser 

class MyUser(AbstractBaseUser): 
    country = models.ForeignKey(Country, models.SET_NULL, blank=True, null=True) 

而在你的設置模塊設置AUTH_USER_MODEL

AUTH_USER_MODEL = 'yourapp.MyUser' 
1

你會這樣做使用OneToOneField發現here

  1. 創建一個應用程序(例如,python manage.py startapp profile
  2. 的應用添加到您的settings.py文件
  3. 在您的個人資料/ models.py文件,添加下面的示例

from django.contrib.auth.models import User

class Profile(models.Model): 
    user = models.OneToOneField(User, on_delete=models.CASCADE) 
    country = models.CharField('country', max_length=120) 
+0

對不起,代碼的外觀。我無法正確地格式化它。 – joshlsullivan

相關問題