我正在使用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)]
我该怎么做?
答案 0 :(得分:4)
迟到总比没有好?
djangoTag = Tag.objects.get(name='django')
djangoWidgets = TaggedItem.objects.get_union_by_model(Widget, djangoTag)