Tengo una pregunta sobre la creación de objetos Django usando bulk_create()
Aquí hay una parte de mi modelo:
class Group(models.Model): uid = models.IntegerField(unique=True) persons = models.ManyToManyField(User, blank=True) label = models.CharField(max_length=128) parent_group = models.ForeignKey('self', on_delete=models.SET_NULL, null=True, blank=True)Y luego quiero crear así:
df_records = df.to_dict('records') model_instances = [Group( uid = record["uid"], label = record["label"], group_parent = Group(uid=record["parent_uid"]), ) for record in df_records] Group.objects.bulk_create(model_instances)¿Es posible hacer referencia a los padres en una creación masiva (por supuesto, el padre está en el mismo grupo)? ¿O tengo que establecer el padre en nulo e iterar en todos los objetos para encontrar la identificación del objeto principal de Django?
Gracias a @Willem,
Publico aquí mi código de trabajo:
class Group(models.Model): uid = models.IntegerField(unique=True, primary_key=True) persons = models.ManyToManyField(User, blank=True) label = models.CharField(max_length=128) parent_group = models.ForeignKey('self', on_delete=models.SET_NULL, null=True, blank=True)y el bulk_create
df_records = df.to_dict('records') model_instances = [Group( uid = record["uid"], label = record["label"], group_parent_id = record["parent_uid"], ) for record in df_records] Group.objects.bulk_create(model_instances)