Ich mache gerade die gleiche Übung im Moment. Der Ansatz, den ich gewählt habe, besteht darin, eine Liste neuer Objekte aus dem DataFrame zu erstellen und sie dann in großen Mengen zu erstellen:
bulk_create(objs, batch_size=None)
Diese Methode fügt die bereitgestellte Liste von Objekten auf effiziente Weise in die Datenbank ein (in der Regel nur 1 Abfrage , egal wie viele Objekte es gibt)
Ein Beispiel könnte so aussehen:
# 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)