Значение обновления патча DRF в элегантном маннаре

Я пытаюсь реализовать API патча, используя drf. Внутри моей модели ViewSet у меня есть что-то вроде этого:

def patch(self, request, id: int, format=None) -> Response:  # type:ignore
        profile: Profile = Profile .objects.get(user__id=id)
        if "username" in request.data:
            profile.username= request.data["username"]
        if "dp" in request.data:
            profile.dp= request.data["dp"]
        if "location" in request.data:
            profile.location.append(request.data["location"])
        profile.save()

Я совершенно уверен, что это не подходящий способ. Может ли кто-нибудь подсказать мне, как я могу реализовать PATCH подходящим образом?

Если я не запрашиваю и не отправляю ID в запросе и пытаюсь сохранить, он выдает мне ошибку относительно отношения, что, мол, этого конкретного поля нет. Конечно, это не так, я не пытаюсь обновить его.

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