У меня есть WebSocket с Django каналами, по которым я пытаюсь отправить данные потребителю после его подключения.
consumer.py:
class CameraOnlineConsumer(AsyncWebsocketConsumer):
async def connect(self):
await self.accept()
logger.info(f"Added {self.channel_name} channel to workflow")
query_set = await self.get_events()
print(query_set)
minute_delta = timedelta(seconds=60)
difference = query_set[0].time_stamp - query_set[1].time_stamp
if difference <= minute_delta:
return self.send(text_data=CameraOnline.status_code)
else:
return self.send(text_data=CameraOffline.status_code)
@database_sync_to_async
async def get_events(self):
return PastureEvent.objects.filter(result=7).order_by('-time_stamp')[:2]
При запуске клиента WebSocket:
ws = new WebSocket("ws://127.0.0.1:8000/ws/camera_online/connect/")
Я получаю эту ошибку, распечатанную в терминале:
difference = query_set[0].time_stamp - query_set[1].time_stamp
TypeError: 'coroutine' object is not subscriptable
WebSocket DISCONNECT /ws/camera_online/connect/ [127.0.0.1:43014]