que estaba leyendo sobre Django bulk_create y algunos de sus "defectos":¿Usando Django bulk_create objetos en claves foráneas?
"
This has a number of caveats though:
1. The model's save() method will not be called, and the pre_save and post_save signals will not be sent.
2. It does not work with child models in a multi-table inheritance scenario.
3. If the model's primary key is an AutoField it does not retrieve and set the primary key attribute, as save() does.
"
no entendía completamente. Así que si tengo una lista de objetos, pasarlo a bulk_create:
objList = [a, b, c,] #none are saved
model.objects.bulk_create(objList)
¿Podría seguir utilizando claves foráneas en estos objetos finos?
for obj in objList:
o = otherModel(something='asdfasdf', fkey=obj)
o.save() # will this be fine given the caveats stated above?
¿La relación ForeignKey será correcta? También cuando dice 2. No funciona con modelos secundarios en un escenario de herencia de tablas múltiples, significa que cualquier modelo que herede de otro modelo (abstracto o no) no puede usar bulk_create?
Entonces, ¿cómo manejaría las relaciones de clave externa? ¿Tendría que consultar la base de datos para seleccionar los objetos que acabo de insertar? – Derek
Probablemente deberías evitar 'bulk_create' por completo en tu caso. Solo crea los objetos individualmente. –
Entonces, ¿cómo recomiendas manejar los problemas de rendimiento con hacer salvaciones individuales? – Derek