首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django中保留用户模型中的字段并添加一些额外字段

如何在Django中保留用户模型中的字段并添加一些额外字段
EN

Stack Overflow用户
提问于 2019-10-25 03:57:28
回答 1查看 118关注 0票数 0

我想在我的用户模型中添加一些额外的字段,我读取了自定义用户模型,并继承了抽象用户类,但是当我实现用户模型时,Django用户名字段等等就消失了。

一个解决方案是使用像profile这样的另一个模型,但是我希望向Django用户模型添加额外的字段。这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-25 04:03:04

您可以使用自定义用户模型:

代码语言:javascript
复制
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    """
    Custom User Model 
    """

    TIMEZONES = tuple(zip(pytz.all_timezones, pytz.all_timezones))

    username = models.CharField(max_length=255, unique=True)
    full_name = models.CharField(max_length=255, blank=True, null=True)
    email = models.CharField(max_length=255, unique=True)
    image = models.ImageField(upload_to=get_image_path, blank=True, null=True)
    timezone = models.CharField(max_length=32, choices=TIMEZONES, default="UTC")

    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = ["username"]

    def __str__(self):
        return self.email

您必须在settings.py文件中注册您的自定义模型:

代码语言:javascript
复制
# Registering the Custom User Model
AUTH_USER_MODEL = 'my_app.User' 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58551993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档