Как сериализовать текущего пользователя в django rest framework?

Я написал пользовательского пользователя и определил для него сериализатор, и теперь у меня есть конечная точка, которой пользователь отправил запрос get. Он должен получить информацию о пользователе в формате json. И поскольку мой формат ответа следующий

{
     'messages': msg,
     'data': data
}

Я не знаю, как сериализовать пользователя или какое общее представление использовать мой код:

class ProfileView(generics.RetrieveAPIView):
    permission_classes = (IsAuthenticated,)
    serializer_class = UserSerializer

    def retrieve(self, request, *args, **kwargs):
        serializer = self.serializer_class(data=request.user)
        if serializer.is_valid():
            return successful_response(
                messages=_('User Profile'),
                data=serializer.data
            )
        return unsuccessful_response(serializer.errors)

и ошибка, которую я получаю:

{
    "errors": {
        "non_field_errors": [
            "Invalid data. Expected a dictionary, but got User."
        ]
    }
}

У кого-нибудь есть идея?

Вам, вероятно, нужно преобразовать "экземпляр пользователя" в словарь я предлагаю сделать это:

from django.forms.models import model_to_dict #this line
class ProfileView(generics.RetrieveAPIView):
    permission_classes = (IsAuthenticated,)
    serializer_class = UserSerializer

    def retrieve(self, request, *args, **kwargs):
    serializer = self.serializer_class(data=model_to_dict(request.user))# instance converted to dict
        if serializer.is_valid():
            return successful_response(
                messages=_('User Profile'),
                data=serializer.data
            )
        return unsuccessful_response(serializer.errors)
Вернуться на верх