Играя си с django-haystack и се опитвам да го внедря с elasticsearch (всъщност вече го направих). Моят модел има title
, content
и също поле tags
, което е ManyRelatedManager
:
tags = models.ManyToManyField( 'Tag', through = 'PostTags' )
Моят обект на индекс за търсене е изграден по следния начин:
class PostIndex( indexes.SearchIndex, indexes.Indexable ):
text = indexes.CharField( document = True, use_template = True )
title = indexes.CharField( model_attr = 'title', boost = 1.125 )
content = indexes.CharField( model_attr = 'content' )
date_added = indexes.DateTimeField( model_attr = 'date_added' )
Първият ми въпрос е...как да включа таговете в обекта PostIndex
? Искам да дам на етикетите много по-голям тласък в сравнение със заглавието и съдържанието.
post_text.txt
шаблон:
{{ object.title }}
{{ object.content }}
{% for tag in object.tags.all %}
{{ tag.name }}
{% endfor %}