重复包含多对多字段的django对象

6 投票
1 回答
1895 浏览
提问于 2025-04-16 19:32

我在使用Django框架,里面有一些对象是用ManyToManyFields(多对多字段)来关联的。我想要复制这些对象。

>>> e = Equipement.objects.get(pk=568)
>>> ee = deepcopy(e)
>>> ee.connexion.all()
[<Connexion: COMETE - Proxyweb>]
>>> ee.id=None
>>> ee.save()
>>> ee.connexion.all()
[]

但是我不想在保存的时候丢失这些多对多的关联信息。你知道有什么快速的方法可以在Django中做到这一点吗?

谢谢!

1 个回答

6

只需使用旧的对象来添加它们:

ee = deepcopy(e)
ee.id=None
ee.save()
ee.connexion.add(*e.connexion.all())

撰写回答