我使用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()
[]
我不想在保存时丢失ManyToMany信息。你知道在Django中快速做到这一点的诀窍吗?
谢谢。
只需使用旧对象添加它们:
ee = deepcopy(e)
ee.id=None
ee.save()
ee.connexion.add(*e.connexion.all())