如何使用django-tagging过滤标签?

时间:2009-11-24 05:55:40

标签: django django-tagging

我正在使用django app django-tagging,我正在尝试过滤掉某些标签以进行简单的标签搜索。

变量'tag'是我正在搜索的某个标签的文本。 “Widget”是与标签关联的模型。

tags = Tag.objects.usage_for_model(Widget, counts=True, filters=dict(tags__icontains=tag))

以上代码的作品。它返回包含标记的标记列表,但它也返回与使用该标记的小部件关联的其他标记。

例如,我有一个小部件:A,A有标签:django,python,mysql。 如果我简单搜索'django':

tags = Tag.objects.usage_for_model(Widget, counts=True, filters=dict(tags__icontains='django'))

标签将返回此列表:[(标签:django),(标签:python),(标签:mysql)]

我只想要它返回:[(标签:django)]

我该怎么做?

1 个答案:

答案 0 :(得分:4)

迟到总比没有好?

djangoTag = Tag.objects.get(name='django')
djangoWidgets = TaggedItem.objects.get_union_by_model(Widget, djangoTag)