Django 如何在注册代理用户时添加其他信息?

Django 如何在注册代理用户时添加其他信息?,django,post,django-models,django-rest-framework,Django,Post,Django Models,Django Rest Framework,我已经按照下面的步骤实现了。玩家是一个用户,被代理。我创建了一个PlayerMore模型,向PlayerMore添加额外的信息,我希望在创建PlayerMore的POST请求中向PlayerMore添加信息。但是PlayerMore的字段甚至没有显示在我的drfapiroot页面中 models.py class User(AbstractUser): class Types(models.TextChoices): PLAYER = "PLAYER"

我已经按照下面的步骤实现了。玩家是一个用户,被代理。我创建了一个
PlayerMore
模型,向
PlayerMore
添加额外的信息,我希望在创建
PlayerMore
POST
请求中向
PlayerMore
添加信息。但是PlayerMore的字段甚至没有显示在我的
drfapiroot
页面中

models.py

class User(AbstractUser):

    class Types(models.TextChoices):
        PLAYER = "PLAYER", "Player"
        MANAGER = "MANAGER", "Manager"

    type = models.CharField(_('Type'), max_length=50,choices=Types.choices,default=Types.PLAYER)

    def get_absolute_url(self):
        return reverse("users:details", kwargs={"username": self.username})

class PlayerManager(models.Manager):
    def get_queryset(self, *args, **kwargs):
        return super().get_queryset(*args, **kwargs).filter(type=User.Types.PLAYER)

class PlayerMore(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    player_info = models.CharField(max_length=256)

class Player(User):
    base_type = User.Types.PLAYER
    objects = PlayerManager()

    @property
    def more(self):
        return self.playermore

    class Meta:
        proxy = True

    def save(self, *args, **kwargs):
        if not self.pk:
            self.type = User.Types.PLAYER
        return super().save(*args, **kwargs)
序列化程序.py

User = get_user_model()

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email') 
        extra_kwargs = {'passwords': {'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(serializers.ModelSerializer):
    class Meta:
        model = Player
        fields = '__all__'