【发布时间】:2021-09-26 01:53:08
【问题描述】:
这个问题的一个版本已经在这里问了好几次了,但是提供的答案都没有解决我的确切问题。
我正在尝试 bulk_create 具有 ManyToMany 字段的模型的一批对象。
在这种情况下,ManyToMany 字段指的是同一模型,尽管我也对一般情况感兴趣。
假设这是我的模型:
class Person(models.Model):
name = models.CharField(max_length=20, blank=True, null=True)
friends = models.ManyToMany("self", related_name="friends_with", null=True)
批量创建大量 Person 对象后,我想添加该组中谁是朋友的信息。
有没有比遍历每个新人并调用.set(friend_pks) 或.add(*friend_pks) 更有效的方法?
即,bulk_update 的类似物。
通过将循环包装到with transaction.atomic()(来自this 答案)中,我实现了一些加速,但它仍然很慢。
【问题讨论】:
标签: python django postgresql django-models many-to-many