Массовое создание Django: слишком много терминов в составном SELECT - PullRequest
0 голосов
/ 18 октября 2019

Итак, я пытаюсь сгенерировать много данных для проверки своей базы данных, и я использую следующий оператор для генерации списков элементов:

for __ in range(0, 1000):
    list_cache = []
    for __ in range(0, 10000):
        list_cache.append(ItemList())
    ItemList.objects.bulk_create(list_cache, ignore_conflicts=True)

Когда я пытаюсь выполнить код, появляется ошибка django.db.utils.OperationalError: too many terms in compound SELECTвверх. Это происходит из последней строки примера кода.

Я обнаружил, что когда я перемещаю list_cache за пределы обоих для циклов и вызываю bulk_create только один раз, он работает нормально (код ниже). Но так как я не хочу, чтобы в одном утверждении был миллион записей, я разделил его, как вы можете видеть выше.

list_cache = []
for __ in range(0, 1000):
    for __ in range(0, 10000):
        list_cache.append(ItemList())
ItemList.objects.bulk_create(list_cache, ignore_conflicts=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...