Как обновить экземпляр модели, связанной с OnetoOne, в restframework?

У меня есть две связанные модели модель пользователя и модель профиля.

вот как выглядят данные

{
    "id": 2,
    "phone_number": 9843945748,
    "email": "someEmial@gmail.com",
    "profile": {
        "first_name": "Updated",
        "last_name": "Updated",
        "avatar": null,
        "date_of_birth": "1995-22-01"
    }
}

Как переопределить метод update() в сериализаторе, чтобы просто обновить поля профиля. минуя обязательное поле USER MODEL, которое является email, phone_number.

Я думаю, что если id является пользователем, то вы можете просто сделать это таким образом

def update(self,request):
    try:
       profile=Profile.objects.get(user__id=request.user.id)
    except Profile.DoesnotExist:
        raise ValidationError("No user found for following id")
    profile.first_name= "Your name"
    profile.last_name ="Your last name"
    profile.save()

Это может быть не точная функция, но основная логика может быть такой

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