Как отфильтровать теги с помощью django-tagging?

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

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

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'))

теги вернут этот список: [(Tag: django), (Tag: python), (Tag: mysql)]

Я только хочу, чтобы он вернулся: [(Tag: django)]

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

1 ответ

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

djangoTag = Tag.objects.get(name='django')
djangoWidgets = TaggedItem.objects.get_union_by_model(Widget, djangoTag)
Другие вопросы по тегам