Как вызвать функцию в django channels consumers
Я определил sync_to_async def в consumers и пытаюсь вызвать его после функции receice async. но не знаю, как это сделать
вот мой код :
async def receive(self, text_data):
text_data_json = json.loads(text_data)
wsRecDeck = text_data_json['wsDeck']
await self.channel_layer.group_send(
self.game_room_name,
{
'type': 'send_deck_to_all',
'wsRecDeck': wsRecDeck,
}
)
@database_sync_to_async
def updateDeck(self, wsRecDeck):
if(LiveDeckDB.objects.filter(current_deck = wsRecDeck).exists()):
LiveDeckDB.objects.filter(current_deck = wsRecDeck).delete()
dbDeck = LiveDeckDB.objects.create(current_deck = wsRecDeck)
dbDeck.current_deck = wsRecDeck
dbDeck.save()
print('|||||||Print Test For DB: ',dbDeck.current_deck)
async def send_deck_to_all(self, event):
wsRecDeck = event['wsRecDeck']
await self.send(text_data=json.dumps({
'wsAllDeck': wsRecDeck,
}))
Я пытаюсь вызвать функцию updatedeck сразу после функции receive, но у меня ничего не получается. Есть советы?