Почему он показывает плохой запрос Плохой запрос: /updateuser/id/

Я пытаюсь обновить данные пользователя. У меня есть отдельные модели MyUser и Profile, объединенные отношением Foreign key. Я написал вложенный сериализатор UsersProfileSerializer. Я хочу обновить данные и MyUser и Profile вместе. Когда я нажимаю submit, в сети появляется ошибка bad request error. Возможно, я передаю неправильный формат ответа в соответствии с моим django rest api. Когда я попытался распечатать request.POST, в консоли браузера он выглядит так: (если я хочу изменить адрес)

{ address: Array(1), user: {…}}
address: ['Not a valid string.']
user: {username: Array(1), bio: Array(1)}
[[Prototype]]:Object

Пожалуйста, посмотрите и подскажите мне мою ошибку.Спасибо заранее.

Мои модели:

class MyUser(AbstractUser):
    bio = models.CharField(max_length=500, blank=True)
    is_younger = models.BooleanField(default=False)
    
   
class Profile(models.Model):
    genders = [
        ("M", "Male"),
        ("F", "Female"),
    ]

    user = models.ForeignKey(MyUser, on_delete=models.CASCADE,related_name="profile")
    age = models.CharField(max_length=2,blank=True,null=True)
    gender = models.CharField(max_length=1, choices=genders)
    contact = models.CharField(max_length=12,blank=True, help_text='Contact phonenumber')
    address = models.CharField(max_length=100, blank=True)
    

Сериализаторами являются:

class ListUsersSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyUser
        fields = ['id', 'username', 'email','bio', 'is_younger']

class UsersProfileSerializer(serializers.ModelSerializer):                         
    user = ListUsersSerializer()
    class Meta:
        model = Profile
        fields = ['id','age','gender','contact','address','user']

    def update(self, instance, validated_data):
        user_data = validated_data.pop('user')
        if user_data is not None:
           instance.user.id = user_data['id']
           instance.user.username = user_data['username']
           instance.user.email = user_data['email']
           instance.user.bio = user_data['bio']
           instance.user.is_younger = user_data['is_younger']
           instance.user.save()
       return super().update(instance, validated_data)

Виды:

 class UpdateUserView(generics.UpdateAPIView):      
     permission_classes = [AllowAny]                                                         
     queryset = Profile.objects.all()                                                        
     serializer_class = UsersProfileSerializer

Мой код фронтенда (react js) :

Здесь я написал два api fetchUserdata для получения данных пользователя и submitForm для операции патча.

Вернуться на верх