Как обновить экземпляр модели, связанной с 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()
Это может быть не точная функция, но основная логика может быть такой