2016-07-27 119 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

相关问题