Дублирование объектов django с ManyToManyFields - PullRequest
5 голосов
/ 14 июня 2011

Я использую 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 при сохранении.Знаешь ли ты трюк, чтобы сделать это быстро в Джанго?

Спасибо.

1 Ответ

5 голосов
/ 14 июня 2011

Просто добавьте их, используя старый объект:

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