Можем ли мы перебирать слои канала django?

Я использую django channels. Я столкнулся с проблемой. Я пытаюсь перебрать различные имена комнат для отправки сообщений, но получаю ошибку типа. Я не знаю, возможно ли это с django-channels или это нормально использовать цикл для отправки сообщений в сокетах

мой код. consummers.ProjectConsumer

Получение сообщения от WebSocket

async def receive(self, text_data):
    text_data_json = json.loads(text_data)

    sender = text_data_json['sender']
    receiver =  text_data_json['receiver']
    message = text_data_json['message']

    

    # Send message to room group
    username = ["admin","main"]
    for user in username:
        object = {
        'sender':sender,
        'receiver': user,
        'message':message,
        }
        username = user

        self.room_name = username
        print("here", self.room_name)
        self.channel_layer.group_send(
            self.room_name,
            {
                'type': 'sent', #function name as an event type
                'object': object #function parameters as an event object
            }
        )  

   async def sent(self, event):
        sender = event['object']["sender"]
        receiver = event['object']["receiver"]
        message = event['object']["message"]  

        # Send message to WebSocket
        await self.send(text_data=json.dumps({
            'sender':sender,
            'receiver':receiver,
            'message':message,
        }))

ошибка:

  File "/home/aa/gitCodes/clone-beru/4-multiuser_handler/backend/notifications/sockets/consumers.py", line 117, in receive
    await self.channel_layer.group_send(...
TypeError: can not serialize 'type' object
Вернуться на верх