如何使用django-tagging将来自非标记字段的字符串作为标记包含在内?

时间:2011-05-20 06:17:51

标签: python django django-tagging

在Django中,使用django-tagging应用程序,我想这样做,以便包含在不是TagField的字段中的项目(例如,在此示例中为authors)被添加到列表中保存对象时显式提供标签。

class Publication(models.Model):
    title    = models.CharField(max_length=200)
    authors  = models.CharField(max_length=200)
    tags     = TagField()

如果提交的作者是“John,Bob,Mary”并且提交了“烹饪,乐趣”标签,我如何将最终标签设置为“John,Bob,Mary,烹饪,乐趣”?

我尝试在Publication类中添加自定义保存功能,但我认为我做对了。

def save(self, *args, **kwargs):
    super(Publication, self).save(*args, **kwargs)
    for author in parse_tag_input(self.authors):
        Tag.objects.add_tag(self, slugify(author))
    super(Publication, self).save(*args, **kwargs)

如何添加这些额外的标签?

1 个答案:

答案 0 :(得分:0)

我认为第二次超级(...)。save(...)是错误的。 你可以根据docs

做得很好