使用ManyToManyFields复制django对象

psy*_*oze 5 python django duplicates manytomanyfield

我使用Django,我有一些ManyToManyFields的对象.我想复制这些对象.我发现'deepcopy'几乎完美无缺.

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

我保存时不想丢失ManyToMany信息.你知道一个技巧,以便在Django中快速完成吗?

谢谢.

zee*_*kay 5

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

ee = deepcopy(e)
ee.id=None
ee.save()
ee.connexion.add(*e.connexion.all())
Run Code Online (Sandbox Code Playgroud)