我很难编辑来自Django频道消费者的数据库条目,下面是涉及的代码片段:
class TestConsumer(AsyncJsonWebsocketConsumer):
async def websocket_connect(self, event):
...
key_query.active_connections = 2
key_query.save()
...
由于我使用的是异步使用者,因此会出现以下错误:
You cannot call this from an async context - use a thread or sync_to_async.
如何从异步使用者执行此操作?也许使用@database_sync_to_async?
任何建议都是非常感谢的
在异步版本的WS中,您还应该将数据库访问转换为异步,因为它通常在同步模式下工作(我指的是数据库查询)。因此,您应该通过方法装饰器或其他提到here的方法来更改它
解决此问题的一种方法是使用如下方法和装饰器:
然后在需要时使用它,如下所示:
相关问题 更多 >
编程相关推荐