AttributeError: объект 'NoneType' не имеет атрибута 'username' Django Rest Serializers POST запрос

Я делаю пост-запрос к бэкенду django из фронтенда react. Для этого я отправляю объект json, но бэкенд выдает ошибку. Я передал данные своему сериализатору в виде приведенных ниже json-объектов, удалив поля по умолчанию, такие как id, created и updated, и отправив оставшиеся поля. POST не является успешным и показывает ошибку, как указано ниже...

Internal Server Error: /create_message/
Traceback (most recent call last):
File "C:\Users\Ajay\Desktop\New folder\Mars\marsgc\main\serializers.py", line 31, in 
get_messager
return obj.messager.username
AttributeError: 'NoneType' object has no attribute 'username'

Вызов функции на фронтенде следующий:

    let add_message = async (message) => {
    await fetch(`http://localhost:8000/create_message/`,{
      method: 'POST',
      headers:{
        'Content-Type':'application/json'
      },
      body:JSON.stringify(message)
    })
}
    const new_message = async (e) => {
    e.preventDefault()
    const messager = user;
    const body = message;
    const room_in = room.id;
    await add_message({body,messager,room_in})
}

Общим объектом сообщения django rest является

{
    "id": 2,
    "body": "Hi",
    "created": "2022-02-20T17:41:47.796395Z",
    "updated": "2022-03-13T17:20:26.949428Z",
    "messager": "ajay",
    "room_in": 17
},

Мои модели:

class Topic(models.Model):
    name = models.CharField(max_length=100)
    def __str__(self):
         return self.name
class Room(models.Model):
    host = models.ForeignKey(User,on_delete=models.CASCADE,null=True)
    topic = models.ForeignKey(Topic,on_delete=models.CASCADE,null=True)
    name = models.CharField(max_length=200)
    description = models.TextField(blank=True,null=True)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    class Meta:
         ordering = ['-updated', '-created']

    def __str__(self):
         return self.name


class Message(models.Model):
    messager = models.ForeignKey(User,on_delete=models.CASCADE,null=True)
    room_in = models.ForeignKey(Room,on_delete=models.CASCADE)
    body = models.TextField(blank=False)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    def __str__(self):
         return self.body

Моими сериализаторами являются

class MessageSerializer(serializers.ModelSerializer):
      messager = serializers.SerializerMethodField(source='get_messager')
      class Meta:
            model = Message
            fields = ['id','body','created','updated','messager','room_in']
      def get_messager(self, obj):
            return obj.messager.username

Метод/представление, которое я вызываю:

@api_view(['POST'])
def create_message(request):
     serializer = MessageSerializer(data=request.data)
     if serializer.is_valid():
           serializer.save()
     return Response(serializer.data)
Вернуться на верх