most_common с django-taggit

Я пытаюсь получить упорядоченный список наиболее часто используемых тегов на моем сайте. документация по API для django taggit ссылается на most_common() метод, но я не могу заставить его работать. Документы говорят:

«Возвращает QuerySet всех тегов, аннотированных числом их появления, доступных как атрибут num_times для каждого тега».

Но они не показывают рабочий пример. Предполагая, что модель «Элемент» имеет рабочее поле «теги», означает ли это, что вы сможете сделать что-то вроде:

Item.objects.all.tags.most_common()

Я пробовал варианты этого, но не могу получить упорядоченный список наиболее часто используемых тегов. Какое магическое заклинание здесь ожидается?


person shacker    schedule 14.02.2012    source источник


Ответы (1)


Я считаю, что это должно быть без objects.all:

tags = Item.tags.most_common()
person Mariusz Jamro    schedule 14.02.2012
comment
Кроме того, мне любопытно, как вы поняли это из документации API, если вы не возражаете против быстрого объяснения. - person shacker; 14.02.2012
comment
tags – это объект TaggableManager, который является подклассом Manager. . Он работает так же, как objects, поэтому обычно используется ModelClass.manager_instance.query_modification_method(). - person Mariusz Jamro; 14.02.2012