2012-09-19 24 views
1

我使用django-taggit來標記我的記錄。將標籤複製到複製的Django對象

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() 

運行此代碼後,副本是確切的,除了沒有附屬標籤。如何將所有標籤從「self」複製到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()