Как получить новые данные во время выполнения из django?

Я работаю над проектом Django с фронтендом ReactJs. В этом проекте я должен создать простое приложение для чата, где пользователи могут общаться друг с другом. В представлениях django у меня есть следующая функция для чтения сообщений

Views.py

class MessagesListAPI(GenericAPIView, ListModelMixin ):
    def get_queryset(self):
        condition1 = Q(sender=15) & Q(receiver=11)
        condition2 = Q(sender=11) & Q(receiver=15)
        return Messages.objects.filter(condition1 | condition2)
    serializer_class = MessagesSerializer
    permission_classes = (AllowAny,)

    def get(self, request , *args, **kwargs):
        return self.list(request, *args, **kwargs)

это дает мне все сообщения между пользователем 11 и пользователем 15.

На фронтенде я получаю эти сообщения от rest Api, вызывая вышеуказанную функцию

frontend

const chatApi = axios.create({
    baseURL: 'http://localhost:8000/chat/'
})
const getMessages = async() => {
        let data = await chatApi.get(`MessageRead/`).then(({data})=>data);
        setMessages(data); 
    }

Я вызываю эту функцию в событии onClick кнопки. и отображаю сообщения с помощью массива сообщений. enter image description here

проблема в том, что в то время, когда эти сообщения открыты для пользователя. в то время, если новое сообщение (данные) добавляется в базу данных. Я должен снова нажать на кнопку и снова вызвать функцию getMessages для отображения этого сообщения.

Есть ли способ автоматически получить новое сообщение (запись) без повторного вызова этой функции нажатием кнопки?

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