【问题标题】:Django-taggit adding new tags to an object?Django-taggit 向对象添加新标签?
【发布时间】:2014-11-18 19:38:26
【问题描述】:

我的模型.py

class X(models.Model):
...
tags = TaggableManager()

如何为对象添加标签。如果我这样做:

 x = X.objects.get(pk = 123)
 x.tags.add( "sample_tag" )

如果之前已经创建了同名的标签(即上述案例中的“sample_tag”),它会添加两次标签。 现在当我检索标签时:

>>> x.tags.all()
>>> [<Tag: sampletag>, <Tag: Sample_tag>]

如何解决这个问题。我只想添加一个新标签,前提是它之前没有创建,如果创建了只是将新对象引用到该标签?

【问题讨论】:

  • 你为什么不直接使用X.tags.add( "tag" )
  • 我想将"tag" 添加到类的特定实例中,而不是添加到类中?还是我?

标签: python django django-taggit


【解决方案1】:

django-taggit 完全符合您的要求,但在您的情况下 sampletag != Sample_tag 因此创建了另一个 Tag 实例。

>>> i.tags.all()
[]
>>> i.tags.add("test")
>>> i.tags.all()
[<Tag: test>]
>>> i.tags.add("test")
>>> i.tags.all()
[<Tag: test>]
>>> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 2023-03-05
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多