Каналы Django: Как ссылаться на ForeignKey и их поля в контексте async?
Я сейчас переделываю пару Websocket-Handlers из WebsocketConsumer в AsyncWebsocketConsumer. Есть одна строка, которая вызывает проблемы. В версии Sync было:
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
Должно быть, я нахожусь на совершенно неправильном пути. Есть предложения?
PS: Я знаю о database_sync_to_async. Если возможно, я хотел бы избежать этого...