6

我使用 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()
[]

我不想在保存时丢失 ManyToMany 信息。你知道在 Django 中快速做到这一点的技巧吗?

谢谢。

4

1 回答 1

6

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

ee = deepcopy(e)
ee.id=None
ee.save()
ee.connexion.add(*e.connexion.all())
于 2011-06-14T17:21:06.987 回答