2009-11-24 1 views
0

Я использую django app django-tagging, и я пытаюсь отфильтровать определенные теги для простого поиска тегов.Как фильтровать теги с помощью django-tagging?

переменный «тег» - это текст некоторого тега, который я ищу. «Виджет» - это модель, связанная с тегами.

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

Код выше вида работ. Он возвращает список тегов, которые содержат тег, но он также возвращает другие теги, связанные с виджетами, которые используют этот тег.

Например, у меня есть виджет: A и A есть теги: django, python, mysql. Если я простой поиск 'Джанго':

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

теги будут возвращать этот список: [(Тэг: Джанго), (Тэг: питон), (Тэг: MySQL)]

только я хочу вернуть: [(Тег: django)]

Как это сделать?

ответ

4

Лучше поздно, чем никогда?

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