Каналы 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. Если возможно, я хотел бы избежать этого...

Вернуться на верх