繁体   English   中英

Django的taggit添加新标签到一个对象?

[英]Django-taggit adding new tags to an object?

我的models.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>]

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

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>]
>>> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM