尝试使用信号通过 websockets 发送使用 .save() 保存的最后一条记录。我放data什么?
#models.py
from django.db import models
from django.db.models.signals import post_save
from channels.layers import get_channel_layer
from asgiref.sync import async_to_sync
class DataModel(models.Model):
time = models.DateTimeField()
value = models.FloatField()
def __str__(self):
return str(self.time)
def save_post(sender, instance, **kwargs):
channel_layer = get_channel_layer()
async_to_sync(channel_layer.group_send)(
"echo_group",
{"type": "on.message", "data": data},
)
post_save.connect(save_post, sender=DataModel)
我想我可以只获取索引最高的记录并发送它,但想知道是否有更优雅的解决方案。
猛跑小猪
拉莫斯之舞
相关分类