Django channels: 如何在异步上下文中引用ForeignKey及其字段?
我现在正在把几个Websocket处理程序从WebsocketConsumer转换成AsyncWebsocketConsumer。有一行代码让我遇到了问题。同步版本是:
self.mydatacache['workernr'] = school.objects.get(id=myschool).tf_worker.id
我第一次尝试写异步版本是这样的:
self.mydatacache['workernr'] = await school.objects.aget(id=myschool).tf_worker.id
第二次尝试:
school_object = await school.objects.aget(id=myschool)
tf_worker_object = await school_object.tf_worker
self.mydatacache['workernr'] = tf_worker_object.id
我尝试了很多不同的写法,但总是出现同样的错误:
You cannot call this from an async context
我可能完全走错方向了。有没有什么建议?
附注:我知道有database_sync_to_async这个东西。如果可以的话,我想避免使用它...
0 个回答
暂无回答