Django正在使用@database\u sync\u to\u async decorator函数等待获取多个对象抛出错误

Django正在使用@database\u sync\u to\u async decorator函数等待获取多个对象抛出错误,django,django-channels,asgi,Django,Django Channels,Asgi,我正在为异步功能集成django通道。我正在尝试使用函数上的wait获取用户模型的多个对象 消费者.py 试图从上面的代码中获取用户会导致错误“您不能从异步上下文调用它-使用线程或同步到异步” 但是,如果我使用“UserModel.objects.all().first()”获取单个对象,一切都会正常工作。我认为这是因为queryset是惰性的。调用UserModel.objects.all()实际上并不执行查询。打印查询时将执行查询。尝试将其转换为users()方法中的列表 class Tea

我正在为异步功能集成django通道。我正在尝试使用函数上的wait获取用户模型的多个对象

消费者.py 试图从上面的代码中获取用户会导致错误“您不能从异步上下文调用它-使用线程或同步到异步”


但是,如果我使用“UserModel.objects.all().first()”获取单个对象,一切都会正常工作。

我认为这是因为queryset是惰性的。调用UserModel.objects.all()实际上并不执行查询。打印查询时将执行查询。尝试将其转换为users()方法中的列表

class TeamConsumer(AsyncConsumer):
    async def websocket_connect(self, event):
        await self.send({
                "type":"websocket.accept"
        })

    async def websocket_receive(self, event):
       o_user = await self.users()
       print(o_user)

    @database_sync_to_async
    def users(self):
        return UserModel.objects.all()