Копировать теги в скопированный объект 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()