W tej chwili przechodzę to samo ćwiczenie. Podejście, które zastosowałem, polega na utworzeniu listy nowych obiektów z DataFrame, a następnie ich zbiorczym utworzeniu:
bulk_create(objs, batch_size=Brak)
Ta metoda skutecznie wstawia dostarczoną listę obiektów do bazy danych (zwykle tylko 1 zapytanie , bez względu na liczbę obiektów)
Przykład może wyglądać tak:
# Not able to iterate directly over the DataFrame
df_records = df.to_dict('records')
model_instances = [MyModel(
field_1=record['field_1'],
field_2=record['field_2'],
) for record in df_records]
MyModel.objects.bulk_create(model_instances)