sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo escribir un marco de datos de Pandas en el modelo de Django

Estoy haciendo el mismo ejercicio en este momento. El enfoque que he tomado es crear una lista de nuevos objetos del DataFrame y luego crearlos de forma masiva:

bulk_create(objs, lote_tamaño=Ninguno)

Este método inserta la lista de objetos proporcionada en la base de datos de manera eficiente (generalmente solo 1 consulta , no importa cuántos objetos haya)

Un ejemplo podría verse así:

# 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)