Django 我应该在哪里添加更多参数来创建用户?

Django 我应该在哪里添加更多参数来创建用户?,django,django-models,django-rest-framework,Django,Django Models,Django Rest Framework,我按照教程创建了一个只有1种用户类型的应用程序。在我自己的应用程序中,我尝试拥有多种类型的用户,并根据用户类型显示不同的页面 我发现教程中的老师不是很清楚,我不知道如何区分用户。到目前为止,创建用户所需的只是用户名和密码。还有,他帮了我的忙,但还是让我感到困惑 我希望能够添加更多字段,但主要是在注册过程中区分用户(无论是玩家、经理还是助手)。我想在POST注册方法中传递一个is_player=true,但我不确定如何将此字段添加到Django注册中,然后如何创建球员、经理或助理 在我的模型中,我

我按照教程创建了一个只有1种用户类型的应用程序。在我自己的应用程序中,我尝试拥有多种类型的用户,并根据用户类型显示不同的页面

我发现教程中的老师不是很清楚,我不知道如何区分用户。到目前为止,创建用户所需的只是
用户名
密码
。还有,他帮了我的忙,但还是让我感到困惑

我希望能够添加更多字段,但主要是在注册过程中区分用户(无论是玩家、经理还是助手)。我想在POST注册方法中传递一个
is_player=true
,但我不确定如何将此字段添加到Django注册中,然后如何创建球员、经理或助理

在我的模型中,我不创建用户模型,而是为玩家、经理和助手创建e模型

# no User model.

class Team(models.Model):
    name = ...
    ...

class Player(models.Model):
    name = 
    team = models.ManyToManyField(Team)

class Manager(models.Model):
    name = 
    players_responsible_For = models.ManyToManyField(Player)
在serializers文件中,我确实创建了一个UserSerializer以及其他模型的序列化程序

from django.contrib.auth.models import User

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('id', 'username', 'password')
        extra_kwargs = {'password': {'write_only': True, 'required': True}}
    
    def create(self, validated_data):
        user = User.objects.create_user(**validated_data)
        token = Token.objects.create(user=user)
        return user

class PlayerSerializer(models.Model):
    class Meta:
       model = Player
       fields = '__all__'
    ...
然后,它位于my views.py文件中,该文件也有一个UserViewSet

class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = (AllowAny,)

那么,我怎样才能为创建一个用户添加更多的字段,然后为该用户创建一个模型呢?

据我所知,您知道django有一个模型名user,并且您希望使用不同的添加参数创建各种其他类型的用户,您可以这样做:

from django.contrib.auth.models import User
class Player(User):
    address= models.CharField(max_length=100)

在这里,您只需从django.auth继承用户类并添加自己的参数。

您可以将字段添加到模型中。这不会带来任何麻烦。我已经为此忍受了几天