Как обновить все изменения в базе данных одним блоком

У меня есть такой код

for i in range(100):
    table2.objects.create(id = i, some_extra_fields)

как загрузить все изменения в базе данных одним запросом

Вы можете использовать bulk_create для создания нескольких объектов одновременно:

new_records = []

for i in range(100):
    new_records.append(Table(id=i, ...))


Table.objects.bulk_create(new_records)

Документы в здесь

Вы можете построить таблицы, которые вы хотите использовать, например, с помощью понимания списка:

table2.objects.bulk_create(
    [table2(id=i, a=some_extra_fields) for i in range(100)]
)

Примечание: Модели в Django пишутся в PascalCase, а не snake_case, поэтому вы можете переименовать модель из table2 в Table2.

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