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

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

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

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

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

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

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


person vagabond    schedule 24.11.2009    source источник


Ответы (1)


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

djangoTag = Tag.objects.get(name='django')
djangoWidgets = TaggedItem.objects.get_union_by_model(Widget, djangoTag)
person John Mee    schedule 07.09.2010