Как отобразить похожие теги в тегах Django?

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

Спасибо!

1 ответ

Решение

Вы можете использовать менеджер 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, который будет возвращать "другие теги, используемые элементами, которые имеют все указанные теги"

Другие вопросы по тегам