Django: Как использовать асин c задачи при переносе данных? - PullRequest
1 голос
/ 14 февраля 2020

Я пытаюсь заполнить свою базу данных с помощью переноса данных, но я сталкиваюсь с RuntimeWarning, и данные не вставляются.

В своей функции заполнения я пытался использовать Asyn c Ожидать в API вызывает это следующим образом:

async def populate_table(apps, schema_editor):
    some stuff...
    await api_call_1()...
    for i in range():
       await api_call_2()... #an api call inside a for loop (Async inside Sync is ok?)#
    model.save()

И затем я в своем классе миграции:

class Migration(migrations.Migration):

    dependencies = [
        ('myapp', 'the previous migration'),
    ]

    operations = [
        migrations.RunPython(populate_table)
    ]

При выполнении миграции выдается предупреждение времени выполнения:

RuntimeWarning: coroutine 'populate_table' was never awaited

Поэтому я попытался украсить свой класс миграции с помощью Async / Await, но безуспешно. Я провел некоторое исследование и, похоже, мне нужно использовать событие l oop. Как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...