无法将数据库中的数据实时发送到客户端不刷新 - DJANGO CHANNELS

Cant send the data from the database to the client in real time without refreshing - DJANGO CHANNELS

我试过这个方法Whosebug但是没用

consumer.py

import json
import asyncio
from channels.consumer import AsyncConsumer
from django.contrib.auth import get_user_model
from channels.db import database_sync_to_async
from .models import Analytics

class AnalyticsConsumer(AsyncConsumer):
    async def websocket_connect(self, event):
        print('connected', event)
        await self.send({
            'type': 'websocket.accept'
        })
        analytics_obj = await self.getAnalytics()
        await self.send({
            'type': 'websocket.send',
            'text': str(analytics_obj)
        })

    async def websocket_receive(self, event):
        print('receive', event)


    async def websocket_disconnect(self, event):
        print('disconnected', event)

    @database_sync_to_async
    def getAnalytics(self):
        return list(Analytics.objects.all().values())[0]['number']

控制台显示消息 == analytics_obj 但是当我在数据库中进行更改时,它没有反映在控制台消息中。为此,我需要刷新浏览器。使用WebSocket时刷新浏览器有什么意义

只需更新数据库中的值,就不会向前端发送新消息。更新数据库后,您需要通过 django 频道发送“更新”消息。到目前为止,您唯一一次发送分析数据是在您连接到服务器时。