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