Django自定义用户模型

时间:2016-07-27 11:34:30

标签: django

我想在我的网站中使用django的用户模型进行身份验证和注册。我只需要在用户模型中添加另一个字段,这是一个国家/地区字段。如何将国家/地区添加到现有用户模型?

2 个答案:

答案 0 :(得分:1)

您可以使用找到here的OneToOneField来执行此操作。

  1. 创建应用(例如python manage.py startapp profile
  2. 将应用添加到settings.py文件
  3. 在您的个人资料/ models.py文件中,添加以下示例
  4. 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)
    

答案 1 :(得分: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'