Как отобразить похожие теги в тегах Django? - PullRequest
0 голосов
/ 30 января 2012

Я использую теги Django. Может ли кто-нибудь привести какой-либо пример того, как я могу показать связанные теги, когда отображается объект, связанный с конкретным тегом? Что-то вроде похожих тегов в stackoverflow.

Спасибо!

1 Ответ

3 голосов
/ 30 января 2012

Вы можете использовать менеджер get_related , который будет:

Получить список экземпляров указанной модели, которые совместно используют теги с экземпляром модели obj, упорядоченные по количеству общихтеги в порядке убывания.

Чтобы использовать это, вы можете создать тег шаблона, например:

   @register.inclusion_tag(your_template)
   def related_objects(object, limit=3):
       objects = TaggedItem.objects.get_related(object,object.__class__)
       return {'objects': objects[:limit]}

Редактировать для комментария

чтобы получить список похожих тегов, вы можете использовать related_for_model, который будет возвращать "другие теги, используемые элементами, которые имеют все указанные теги"

...