Как интегрировать данные профиля аутентифицированного пользователя в Django Model

Здравствуйте, дружелюбные люди,

Я хочу создать API, который может обслуживать данные, используя фреймворк Django Rest. Цель состоит в том, чтобы создать модель, которая может добавить данные профиля аутентифицированного пользователя в пользовательскую модель, пока что я могу обслуживать данные с помощью views.py, но это должно быть сделано неявно, как из Models

views.py

class MessageView(APIView):
    authentication_classes = (TokenAuthentication,)
    permission_classes = (IsAuthenticated,)
    

    def get(self, request,*args, **kwargs):
        all_messages = Message.objects.all()
        message_serializer = MessageSerializers(data = all_messages, many=True)
        message_serializer.is_valid()
        current_user = request.user
       
        data = {
            'user_id': current_user.id,
            'messages': message_serializer.data,
            'first_name': current_user.first_name,
            'last_name': current_user.last_name,
            'email': current_user.email,
            }
      
        return Response(data , status=status.HTTP_200_OK)

    def post(self, request, *args, **kwargs):
        message_data = request.data
        current_user = request.user
       
        data = {
            'user_id': current_user.id,
            'first_name': current_user.first_name,
            'last_name': current_user.last_name,
            'email': current_user.email,
            }
        create_message = Message.objects.create(message=message_data['message'] ,   created_by_id=current_user.id)
        create_message.save()
        # serializer = MessageSerializers(create_message)
        data={ 
            'message': 'success',
            'status': status.HTTP_201_CREATED
        }

        return Response(data ,status=status.HTTP_201_CREATED)
       

models.py


from django.db import models
from django.contrib.auth.models import User

# Create your models here.


class Message(models.Model):
    id = models.AutoField(primary_key=True)
    message = models.CharField(max_length=500)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    created_by = models.OneToOneField(User, on_delete=models.CASCADE)

    
    def __str__(self):
        return self.message

Вывод, который я получаю

{
  "user_id": 2,
  "messages": [
    {
      "id": 1,
      "message": "Testing message API",
      "created_at": "2022-05-16T23:19:08.430849+05:30",
      "updated_at": "2022-05-16T23:19:08.437935+05:30",
      "created_by": 2
    }
  ],
  "first_name": "Mr",
  "last_name": "x-men",
  "email": "x-men@mail.com"
}

Желаемый вывод Вместо идентификатора пользователя я хочу получить данные профиля пользователя


{
  
  "messages": [
    {
      "id": 1,
      "message": "Testing message API",
      "created_at": "2022-05-16T23:19:08.430849+05:30",
      "updated_at": "2022-05-16T23:19:08.437935+05:30",
      "created_by": {
                    "user_id": 2,
                    "first_name": "Md",
                    "last_name": "tausif",
                   "email": "tausif@mail.com"
    }
  ],
  
}

Любезно предоставьте решения Спасибо!

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