Django Async Модель Сохранить()

Я преобразовываю свои обычные представления в асинхронные представления из-за того, что запросы запросов блокируют все мои потоки. На данный момент я решил большинство своих проблем, кроме одной. Как асинхронно сохранить модель?

async def dashboardAddChart(request, rowId):
    row = (await sync_to_async(list)(DashboardRow.objects.filter(pk=rowId).select_related('dashboard__site', 'dashboard__theme')))[0]

    chart = DashboardChart(dashboard=row.dashboard, dashboardRow=row)
    
    if row.dashboard.theme is not None:
        dashboardThemes.applyThemeToChart(chart)

    chart.save()

    chartData = await getChartData(chart.pk)

Я пробовал множество вещей с chart.save(), включая:

await sync_to_async(chart.save)

t = asyncio.ensure_future(sync_to_async(chart.save))
await asyncio.gather(t)

Но у меня не получается.

Любая помощь будет оценена по достоинству!

await sync_to_async(chart.save)

должно быть

await sync_to_async(chart.save)()

Функция sync_to_async оборачивает chart.save и возвращает ее асинхронную версию, которую затем все равно нужно вызвать для выполнения.

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