簡體   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