2012-01-30 3 views
0

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

Спасибо!

ответ

3

Вы можете использовать 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]} 

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

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

+1

спасибо, но я хочу отображать связанные теги, а не элементы от моих моделей, которые обмениваются тегами. Есть какой-либо способ сделать это? чтобы дать вам пример [link] (http://stackoverflow.com/tags/django/info), что-то вроде боковой панели, показывающей связанные теги. –