2009-11-24 15 views
0

J'utilise l'application django django-tagging et j'essaie de filtrer certaines balises pour une simple recherche d'étiquette.Comment filtrer les tags avec le tag django?

La variable 'tag' est le texte d'une étiquette que je recherche. 'Widget' est le modèle associé aux tags.

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

Le code ci-dessus sorte de travaux. Il renvoie une liste de balises contenant la balise, mais renvoie également d'autres balises associées aux widgets qui utilisent cette balise. Par exemple, j'ai un widget: A, et A a des tags: django, python, mysql. Si je fais une recherche pour 'django':

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

balises retourner cette liste: [(Tag: django), (Tag: python), (Tag: mysql)]

Je ne Je veux qu'il retourne: [(Tag: django)]

Comment faire?

Répondre

4

Mieux vaut tard que jamais?

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