Решил добавить простой поиск на сайтец.
Нормально не завелось: ввожу текст в строку поиска, он находит нужное число элементов, но они все None
Кодец:
things_text.txt (поле для поиска)
{{ object.title }}
search_indexes.py
class ThingIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
def get_model(self):
return Thing
def index_queryset(self, using=None):
return self.get_model().objects.all()
views.py
def search_results(request):
things = SearchQuerySet().filter(content=request.POST.get('search',''))
context = {'things': things}
return render(request, 'things/search_results.html', context)
search_results.html
{% if things %}
<div class="page-header margin_10">
<h2>Результаты поиска</h2>
</div>
{% for item in things %}
<div class="row">
<div class="col-xs-12 col-lg-12">
<a href="{% url 'things:things_details' item.url %}" style="color:#333;text-decoration:none !important">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">{{ item.title }}</h4>
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12 col-lg-4 text-center">
{% if item.image %}
<img src="{{ item.image.url }}" width="100"/>
{% else %}
{% load staticfiles %}
<img src="{% static 'site/img/default.png' %}" width="100"/>
{% endif %}
</div><!--/.col-xs-6 col-lg-4-->
</div><!--/row-->
</div>
</div>
</a>
</div><!--/.col-xs-12.col-lg-12-->
</div>
</br>
{% endfor %}
{% else %}
<h2>Поиск результатов не дал</h2>
{% endif %}
объекты item None, хотя их число верно.
Наиболее близкий ответ на SO вот , но я не очень понял что он там предлагает сделать