Просто минавам през същото упражнение в момента. Подходът, който използвах, е да създам списък с нови обекти от DataFrame и след това да ги създам групово:
bulk_create(objs, batch_size=Няма)
Този метод вмъква предоставения списък с обекти в базата данни по ефективен начин (обикновено само 1 заявка , без значение колко обекта има)
Пример може да изглежда така:
# 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)