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