首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将ForeignKey字段添加到默认用户而不修改它?

将ForeignKey字段添加到默认用户而不修改它?
EN

Stack Overflow用户
提问于 2017-11-04 00:43:41
回答 2查看 955关注 0票数 0

我正在使用默认的用户模型,并创建了一个名为Team的自定义模型。一个用户只能在一个团队中,但是一个团队可以有很多用户。因此,我必须在用户模型中创建ForeignKey字段。

问题是,我只是通过使用from django.contrib.auth.models import User导入用户来使用默认用户

在默认用户模型中添加ForeignKey字段的最简单方法是什么?我必须扩展默认的用户模型吗?

或者,是否有一种方法可以将ForeignKey字段添加到团队中,并交换用户和团队之间的关系?

EN

Stack Overflow用户

回答已采纳

发布于 2017-11-04 01:22:44

老实说,当您使用默认Django用户模型时,最好创建一个您可以更容易修改的自定义用户模型。下面是一个简单的示例,说明如何使用AbtractBaseUser修改用户类。如果您想添加外键,只需使用ForeignKey而不是下面的数据类型。

代码语言:javascript
运行
复制
from __future__ import unicode_literals
from django.utils import timezone
from django.contrib.auth.models import (AbstractBaseUser,PermissionsMixin)
from django.db import models

class User(AbstractBaseUser, PermissionsMixin):

    email = models.EmailField(unique=True)
    username = models.CharField(max_length=7, unique=True)
    formattedusername = models.CharField(max_length=11, unique=True, primary_key = True)
    first_name = models.CharField(max_length=40)
    last_name = models.CharField(max_length=140)
    date_joined = models.DateTimeField(default=timezone.now)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    facility = models.CharField(max_length=140)
    jobdescription = models.CharField(max_length=140)
    positiondescription = models.CharField(max_length=140)
    coid = models.CharField(max_length=5)
    streetaddress = models.CharField(max_length=140)



    USERNAME_FIELD = 'username'

    class Meta:
        app_label = 'accounts'
        db_table = "user"

#    REQUIRED_FIELDS = "username"

    def __str__(self):
        return "@{}".format(self.username)
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47106211

复制
相关文章

相似问题

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