Django bulk create с внешним ключом со ссылкой на себя
У меня вопрос о создании объектов Django с помощью bulk_create()
Вот часть моей модели :
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)
А затем я хочу создать вот так :
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)
Возможно ли сделать самоссылку на родителя при массовом создании (конечно, родитель находится в том же массиве)? Или я должен установить parent в null и пройтись по всем объектам, чтобы найти идентификатор родительского объекта django ?
Спасибо @Willem,
Я размещаю здесь свой рабочий код :
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)
и 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)