Обновление или создание нескольких строк - Django

Я пытаюсь найти наиболее эффективный способ обновить или создать кучу строк (около 10K - 30k) из json в моей базе данных.

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

Я пробовал использовать атомарные транзакции Django, но это все равно очень медленно. Сейчас я использую библиотеку this, но она очень медленная: обновление 15k строк занимает около 1 часа. Но это самый короткий способ, который я нашел на сегодняшний день.

Я прочитал много вопросов и статей, но не могу найти самый быстрый способ сделать это.

Вот как выглядят мои методы обновления (с использованием библиотеки):

def update_data_in_db(data):
    objs = []
    for item in data:
        try:
            objs.append(Item(
                id=item['id'],
                name=item.get('name'),
                slug=item.get('slug'),
        except Exception as err:
            logger.exception(err)
            print(err)
    try:
        Currency.objects.bulk_update_or_create(objs, ['name', 'slug'], match_field='id')
    except Exception as err:
        print(err)
    return [obj.id for obj in objs]
Вернуться на верх