Копировать теги в скопированный объект Django

Я использую django-taggit, чтобы пометить мои записи.

class Action(models.Model):
    name = models.CharField("Action Name", max_length=200)
    complete = models.BooleanField(default=False, verbose_name="Complete?")

    tags = TaggableManager()

Я пытаюсь сделать точную копию записей, вплоть до тегов, связанных с задачей.

new_obj = deepcopy(self)
new_obj.id = None
new_obj.save()

После выполнения этого кода копия является точной, за исключением того, что нет никаких связанных тегов. Как я могу скопировать все теги из "себя" в new_obj?

1 ответ

Решение

Вместо добавления тегов к объекту:

new_obj.tags.add(tag)

Я добавил новый объект в тег:

for tag in self.tags.all():
    tag_object = TaggedItem(content_object = new_obj, tag = tag)
    tag_object.save()
Другие вопросы по тегам